从n个列表中获取交集

时间:2018-04-20 12:31:07

标签: java list arraylist intersection

List x=new ArrayList<ArrayList<String>;
x.add(new ArrayList(Arrays.asList("1","2","3","4")));
x.add(new ArrayList(Arrays.asList("3","4")));
x.add(new ArrayList(Arrays.asList("4","5")));

需要找到列表中所有列表的交集。由于列表中的列表数量不同,因此无法手动执行。

1 个答案:

答案 0 :(得分:1)

可以尝试:

List<String> result = (ArrayList<String>) x.get(0);
for (int i = 1; i < x.size(); i++) {
    result.retainAll((ArrayList<String>) x.get(i));
}
return result;