1. 首页
  2. 软件开发
  3. JAVA
  4. List集合的交集(retainAll)、并集(removeAll,addAll)、差集(removeAll)

List集合的交集(retainAll)、并集(removeAll,addAll)、差集(removeAll)

  • 发布于 2024-09-25
  • 1 次阅读

|—-|——————————————–|—————————–|———|
| 交集 | listA.retainAll(listB) | listA内容变为listA和listB都存在的对象 | listB不变 |
| 差集 | listA.removeAll(listB) | listA中存在的listB的内容去重 | listB不变 |
| 并集 | listA.removeAll(listB) listA.addAll(listB) | 为了去重,listA先取差集,然后追加全部的listB | listB不变 |

public static void main(String[] args) {
        List<String> listA = new ArrayList<String>(){
  {
            add("A");
            add("B");
            add("C");
            add("D");
            add("E");
            add("F");
        }};

        List<String> listB = new ArrayList<String>(){
  {
            add("A");
            add("G");
            add("Q");
            add("D");
            add("O");
            add("F");
            add("M");
            add("X");
        }};

        // 并集
        System.out.println("--并集---------------------");
        listA.removeAll(listB);
        listA.addAll(listB);
        System.out.println("listA: " + listA);
        System.out.println("listB:" + listB);


        List<String> listC = new ArrayList<String>(){
  {
            add("A");
            add("B");
            add("C");
            add("D");
        }};

        List<String> listD = new ArrayList<String>(){
  {
            add("A");
            add("G");
            add("Q");
            add("D");
            add("O");
        }};
        // 交集
        System.out.println("--交集---------------------");
        listC.retainAll(listD);
        System.out.println("listC: " + listC);
        System.out.println("listD:" + listD);


        List<String> listE = new ArrayList<String>(){
  {
            add("A");
            add("B");
            add("C");
            add("D");
            add("E");
        }};

        List<String> listF = new ArrayList<String>(){
  {
            add("A");
            add("G");
            add("Q");
            add("D");
        }};

        // 差集
        System.out.println("--差集---------------------");
        listE.removeAll(listF);
        System.out.println("listE:" + listE);
        System.out.println("listF:" + listF);
    }

运行结果:

原文链接: https://onlyou.blog.csdn.net//article/details/96479769