我有两个看起来像这样的列表:
def justNames = ["test", "test1"]
def namesWithNumber = ["test-1", "test-2", "test1-2"]
我想创建一个对列表,以便在以下条件下,每一对都有一个来自 justNames 的元素和一个来自 namesWithNumber 的元素。justNames 中的元素必须与 namesWithNumber 中连字符之前的元素部分完全匹配。所以:
def pairs = [["test", "test-1"], ["test1", "test1-2"], ["test", "test-2"]]
我无法弄清楚循环遍历列表的最佳方式是什么。在我的实际代码中,justNames 非常大,而 namesWithNumber 小得多。任何人都可以建议一种创建配对列表的常规方法吗?如果重要或有帮助,justNames 和 namesWithNumber 是使用如下正则表达式从单个列表创建的:
def testList = ["test", "test-1", "test1", "test-2", "test1-2"]
def justNames = []
def namesWithNumber = []
testList.each {
if (it =~ /-\d$/) {
namesWithNumber << it
} else {
justNames << it
}
}
谢谢!