前提须要明确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]