【问题标题】:How to manipulate and compare lists using Groovy如何使用 Groovy 操作和比较列表
【发布时间】:2019-08-23 02:01:02
【问题描述】:

我有 3 个列表需要比较和操作。以下是列表,例如:

def list1 = ['abc', '123','789'];
def list2 = ['456', 'abc', '123'];
def list3 = ['mil', 'len', 'nium']; 

我需要比较list1和list2的值,如果它们相同,我需要返回与list3中的list1相同索引的对应项。

使用上面的例子,由于 list1[0] 和 list2[1] 是一样的,我需要返回 list3 的值,'mil'。

列表的值也将是动态的,那么我将如何在 groovy 中做到这一点?

【问题讨论】:

  • 请添加代码、您尝试过的内容以及遇到的错误,以便我们改进。

标签: list groovy


【解决方案1】:

您可以在Groovy Docs 上阅读有关它的信息。您可以通过

找到常见元素
def commons = collection1.intersect(collection2)

并使用indexOf 的第一个列表中的索引在第三个列表中查找元素。 它也可能有用Comparing lists

有点像

def commons = list1.intersect(list2)
def indexes = []
commons.each {
    indexes << list1.indexOf(it)
}
def values = []
indexes.each {    
    values << list3[it]
}

当然可以通过多种方式完成,更简单,但在某些情况下也可以使用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    • 2012-08-12
    相关资源
    最近更新 更多