在JAVA中,对List集合的加减操作

在日常Java开发中,经常会对List集合进行各种各样的操作,这里针对List集合的加减操作做个小的总结:在我看来最常用的有两个,一个是对原List本身有改变,一个是原List本身无改变。

一、对原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]

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值