在日常Java开发中,经常会对List集合进行各种各样的操作,这里针对List集合的加减操作做个小的总结:在我看来最常用的有两个,一个是对原List本身有改变,一个是原List本身无改变。
一、对原List本身有改变的方法即:
List1.addAll(List2) // List1与List2两个集合进行相加,返回一个boolean类型值,原有的List1值有变化,List2不变;
List1.removeAll(List2) //List1与List2两个值进行相减,返回一个boolean类型值,原有的List1值有变化,List2不变;
例子(加法):
List list1 = new ArrayList();
list1.add("1");
list1.add("3");
list1.add("5");
List list2 = new ArrayList();
list2.add("2");
list2.add("4");
list2.add("5");
list1.addAll(list2);
System.out.println(list1); // 输出结果为:[1, 3, 5, 2, 4, 5]
(减法):
List list1 = new ArrayList();
list1.add("1");
list1.add("3");
list1.add("5");
List list2 = new ArrayList();
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 list1 = new ArrayList();
list1.add("1");
list1.add("3");
list1.add("5");
List list2 = new ArrayList();
list2.add("2");
list2.add("4");
list2.add("5");
List list = ListUtils.union(list1, list2);
System.out.println(list); // 输出结果为:[1, 3, 5, 2, 4, 5]
(减法):
List list1 = new ArrayList(); list1.add("1"); list1.add("3"); list1.add("5"); List list2 = new ArrayList(); list2.add("2"); list2.add("4"); list2.add("5"); List list = ListUtils.subtract(list1, list2); System.out.println(list); // 输出结果为:[1, 3]