一、对原List本身有改变的方法即:
List1.addAll(List2) // List1与List2两个集合进行相加,返回一个boolean类型值,原有的List1值有变化,List2不变;
List1.removeAll(List2) //List1与List2两个值进行相减,返回一个boolean类型值,原有的List1值有变化,List2不变;
例子(加法):
List<String> list1 = new ArrayList<String>();
list1.add("1");
list1.add("3");
list1.add("5");
List<String> list2 = new ArrayList<String>();
list2.add("2");
list2.add("4");
list2.add("5");
list1.addAll(list2);
System.out.println(list1); // 输出结果为:[1, 3, 5, 2, 4, 5]
(减法):
List<String> list1 = new ArrayList<String>();
list1.add("1");
list1.add("3");
list1.add("5");
List<String> list2 = new ArrayList<String>();
list2.add("2");
list2.add("4");
list2.add("5");
list1.removeAll(list2);
System.out.println(list1); // 输出结果为:[1, 3]
二、 对原本List无改变的方法即:
ListUtils.union(List1,List2) //List1与List2相加,返回的是一个List集合,原有的List1与List2都没有改变;
ListUtils.subtract(List1,List2) //List1与List2相减,返回的是一个List集合,原有的List1与List2都没有改变
例子(加法):
List<String> list1 = new ArrayList<String>();
list1.add("1");
list1.add("3");
list1.add("5");
List<String> list2 = new ArrayList<String>();
list2.add("2");
list2.add("4");
list2.add("5");
List<String> list = ListUtils.union(list1, list2);
System.out.println(list); // 输出结果为:[1, 3, 5, 2, 4, 5]
(减法):
List<String> list1 = new ArrayList<String>();
list1.add("1");
list1.add("3");
list1.add("5");
List<String> list2 = new ArrayList<String>();
list2.add("2");
list2.add("4");
list2.add("5");
List<String> list = ListUtils.subtract(list1, list2);
System.out.println(list); // 输出结果为:[1, 3]