Groovy 合并至少有一个共同项的列表
我在groovy中有一个列表。某些嵌套列表具有某些共同项。我希望将至少有一个共同项的所有嵌套列表合并到一个列表中,例如: 我的列表摘录:Groovy 合并至少有一个共同项的列表,groovy,Groovy,我在groovy中有一个列表。某些嵌套列表具有某些共同项。我希望将至少有一个共同项的所有嵌套列表合并到一个列表中,例如: 我的列表摘录: [[buy, order, bought, purchase], [opinion, point of view], [opinion, belief], [buy, purchased], [buy, order, purchases]] (嵌套列表的顺序是随机的) 我希望达到的目标是: [[buy, order, bought, purchase
[[buy, order, bought, purchase],
[opinion, point of view],
[opinion, belief],
[buy, purchased],
[buy, order, purchases]]
(嵌套列表的顺序是随机的)
我希望达到的目标是:
[[buy, order, bought, purchase, buy, purchased, buy, order, purchases],
[opinion, point of view, opinion, belief]]
有人对如何实现这一目标有什么建议吗?
谢谢大家! 您可以使用
inject
执行以下操作:
def input = [['buy', 'order', 'bought', 'purchase'],
['opinion', 'point of view'],
['opinion', 'belief'],
['buy', 'purchased'],
['buy', 'order', 'purchases']]
input.inject([]) { list, current ->
list.find { it.intersect(current) }?.addAll(current) ?: list << current
list
}
def input=[['buy','order','bunded','purchase'],
[“意见”、“观点”],
[“意见”、“信念”],
[‘购买’、‘购买’],
[‘购买’、‘订购’、‘购买’]]
input.inject([]){列表,当前->
list.find{it.intersect(current)}?.addAll(current)?:list当然你尝试过解决这个问题?是的,我尝试过。但是由于我的“解决方案”远没有奏效,我认为如果我发布它们对任何人都没有帮助。谢谢!这有帮助:)@zivuska酷!如果它回答了你的问题,你能接受它作为答案吗?