List集合的加减操作


一. 对List本身有改变

  1. 概述

List1.addAll(List2); // List1与List2两个集合相加,返回boolean值。原有List1值有变化,List2不变
List1.removeAll(List2); // List1与List2两个集合相减,返回boolean值。原有List1值有变化,List2不变

  1. 代码实现
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本身无改变

  1. 概述

ListUtils.union(List1,List2); // List1与List2相加,返回一个List集合,原有的List1与List2都没有改变
ListUtils.subtract(List1,List2); // List1与List2相减,返回一个List集合,原有的List1与List2都没有改变

  1. 代码实现
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]
}

参考资料


版权声明:本文为zijikanwa原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。