多个集合求交集,使用了apache.commons包的CollectionUtils.intersection()方法
public static void main(String[] args) {
//Lists.newArrayList 来自 google的guava
List<String> list1 = Lists.newArrayList("北京", "上海", "深圳", "广州");
List<String> list2 = Lists.newArrayList("北京", "长沙", "南京", "杭州");
List<String> list3 = Lists.newArrayList("北京", "长沙", "深圳", "杭州");
List<List<String>> lists = Lists.newArrayList(list1,list2,list3);
List<String> result = Lists.newArrayList();
for (int i = 0; i < lists.size(); i++) {
if (i == 0) {
//第一次和自己取交集 CollectionUtils 来自 apache.commons
result = (List<String>) CollectionUtils.
intersection(lists.get(0), lists.get(0));
} else {
result = (List<String>) CollectionUtils.
intersection(result, lists.get(i));
}
}
System.out.println(result);
}
输出: