【发布时间】:2013-04-04 16:14:00
【问题描述】:
我有一个清单:
def a = [[14, 17, 12, 5], [14, 17, 12, 8, 3], [5, 2], [9]]
我需要检查交叉点,如果两个列表相交,请将它们组合起来。
结果应该如下:
def b = [[14, 17, 12, 5, 8, 3, 2], [9]]
(即 14 在第一个子列表中,它也在第二个子列表中,以此类推......) 如何解决这个任务?
【问题讨论】:
-
我尝试做两个 for 循环,其中第二个循环检查与第一个循环子列表的交集。他们要做flatten().unique()。但这不是正确的解决方案(我认为我在实施过程中犯了一些错误)
-
为什么 8 和 3 最终会出现在大名单中?
-
如果有相交的元素,我需要合并列表。
-
那么任何列表中的任何相交元素都会拉入整个列表?
-
tim_yates:是的,拉入整个列表
标签: java list groovy intersection