| 需求 | list的方法 | 说明 | 备注 |
|---|---|---|---|
| 交集 | listA.retainAll(listB) | listA内容变为listA和listB都存在的对象 | listB不变 |
| 差集 | listA.removeAll(listB) | listA中存在的listB的内容去重 | listB不变 |
| 去重复并集 | listA.removeAll(listB) listA.addAll(listB) | 为了去重,listA先取差集,然后追加全部的listB | listB不变 |
// 交集
List<String> listA_01 = new ArrayList<String>(){{
add("A");
add("B");
}};
List<String> listB_01 = new ArrayList<String>(){{
add("B");
add("C");
}};
listA_01.retainAll(listB_01);
System.out.println(listA_01); // 结果:[B]
System.out.println(listB_01); // 结果:[B, C]
// 差集
List<String> listA_02 = new ArrayList<String>(){{
add("A");
add("B");
}};
List<String> listB_02 = new ArrayList<String>(){{
add("B");
add("C");
}};
listA_02.removeAll(listB_02);
System.out.println(listA_02); // 结果:[A]
System.out.println(listB_02); // 结果:[B, C]
// 并集
List<String> listA_03 = new ArrayList<String>(){{
add("A");
add("B");
}};
List<String> listB_03 = new ArrayList<String>(){{
add("B");
add("C");
}};
listA_03.removeAll(listB_03);
listA_03.addAll(listB_03);
System.out.println(listA_03); // 结果:[A, B, C]
System.out.println(listB_03); // 结果:[B, C]
本文详细介绍了Java中List集合的几种关键操作,包括交集、差集和并集的实现方式。通过具体示例,展示了如何使用List的retainAll、removeAll和addAll方法来完成这些集合运算,对Java开发者理解和应用集合操作具有很高的实用价值。
1184

被折叠的 条评论
为什么被折叠?



