zoukankan      html  css  js  c++  java
  • [转]list的交集,差集,并集

    原文地址:https://www.cnblogs.com/changfanchangle/p/8966860.html

    工作中用到了list的取差集,发现还是挺好用的。
    所以记录下。

    需求list的方法说明备注
    交集 listA.retainAll(listB) listA内容变为listA和listB都存在的对象 listB不变
    差集 listA.removeAll(listB) listA中存在的listB的内容去重 listB不变
    并集 listA.removeAll(listB)
    listA.addAll(listB)
    为了去重,listA先取差集,然后追加全部的listB listB不变

    测试代码:

    // 交集
    List<String> listA_01 = new ArrayList<String>(){{
        add("A");
        add("B");
    }};
    List<String> listB_01 = new ArrayList<String>(){{
        add("B");
        add("C");
    }};
    listA_01.retainAll(listB_01);
    System.out.println(listA_01); // 结果:[B]
    System.out.println(listB_01); // 结果:[B, C]
    
    // 差集
    List<String> listA_02 = new ArrayList<String>(){{
        add("A");
        add("B");
    }};
    List<String> listB_02 = new ArrayList<String>(){{
        add("B");
        add("C");
    }};
    listA_02.removeAll(listB_02);
    System.out.println(listA_02); // 结果:[A]
    System.out.println(listB_02); // 结果:[B, C]
    
    // 并集
    List<String> listA_03 = new ArrayList<String>(){{
        add("A");
        add("B");
    }};
    List<String> listB_03 = new ArrayList<String>(){{
        add("B");
        add("C");
    }};
    listA_03.removeAll(listB_03);
    listA_03.addAll(listB_03);
    System.out.println(listA_03); // 结果:[A, B, C]
    System.out.println(listB_03); // 结果:[B, C]
  • 相关阅读:
    安装Joomla!3
    keepalived + lvs
    systemd 服务介绍
    lvs 进阶 第二章
    lvs 初始 第一章
    iptables 最终 第四章
    bind 笔记
    iptables 扩展匹配 第三章
    iptables 认识 第二章
    iptables 初见 第一章
  • 原文地址:https://www.cnblogs.com/dirgo/p/10421781.html
Copyright © 2011-2022 走看看