一. 对List本身有改变
- 概述
List1.addAll(List2); // List1与List2两个集合相加,返回boolean值。原有List1值有变化,List2不变
List1.removeAll(List2); // List1与List2两个集合相减,返回boolean值。原有List1值有变化,List2不变
- 代码实现
public void listOperation1() {
List<String> list1 = Lists.newArrayList();
list1.add("1");
list1.add("2");
list1.add("3");
List<String> list2 = Lists.newArrayList();
list2.add("2");
list2.add("3");
list2.add("4");
// 两个List相加
list1.addAll(list2);
System.out.println(list1); // [1, 2, 3, 2, 3, 4]
// 两个List相减
list1.removeAll(list2);
System.out.println(list1); // [1]
}
二. 对List本身无改变
- 概述
ListUtils.union(List1,List2); // List1与List2相加,返回一个List集合,原有的List1与List2都没有改变
ListUtils.subtract(List1,List2); // List1与List2相减,返回一个List集合,原有的List1与List2都没有改变
- 代码实现
public void listOperation2() {
List<String> list1 = Lists.newArrayList();
list1.add("1");
list1.add("2");
list1.add("3");
List<String> list2 = Lists.newArrayList();
list2.add("2");
list2.add("3");
list2.add("4");
// 两个集合相加
List<String> lists = ListUtils.union(list1,list2); // [1, 2, 3, 2, 3, 4]
System.out.println(lists);
// 两个集合相减
List<String> lists2 = ListUtils.subtract(list1,list2);
System.out.println(lists2); // [1]
}