前提须要明确List是援用类型,援用类型采纳援用传递。
咱们常常会遇到一些需要求汇合的交加、差集、并集。例如上面两个汇合:
List<String> list1 = new ArrayList<String>();list1.add("A");list1.add("B");List<String> list2 = new ArrayList<String>();list2.add("B");list2.add("C");
0.求差集
例如,求List1中有的然而List2中没有的元素:
public static void test3(List list1, List list2) { list1.removeAll(list2); System.out.println(list1);}
后果: [A]
1.求并集(不去重)---将一个汇合全副退出另一个汇合
public static void test(List list1, List list2) { list1.addAll(list2); System.out.println(list1); }
后果: [A, B, B, C]
2.求并集(去重)
例如:求List1和List2的并集,并实现去重。
思路是:先将list中与list2反复的去掉,之后将list2的元素全副增加进去。
public static void test1(List list1, List list2) { list1.removeAll(list2); list1.addAll(list2); System.out.println(list1); }
后果 : [A, B, C]
3.求交加
例如:求List1和List2中都有的元素。
public static void test2(List list1, List list2) { list1.retainAll(list2); System.out.println(list1); }
后果:[B]