Java 中 List 的交集、差集、并集

2019-03-08  本文已影响0人  Negen

先看一下我画的简陋的图示:

图示.png

交、并、差的详细概念请自行百度

举个例子现在有 A、B 两个集合分别如下:
A = {'1', '2', '3'}
B = {'2', '3', '4'}

交集:{'2', '3'}
并集:{'1', '2', '3'}
差集:{'1', '4'}


Java代码实现交、并、差如下:

import java.util.ArrayList;

public class MyReview {
    public static void main(String[] args) {
        ArrayList<String> A = null;
        ArrayList<String> B = null;


        //交集
        A = getAList();
        B = getBList();
        A.retainAll(B);
//        A.forEach(value-> System.out.println(value));
        System.out.println("A、B交集:" + A);

        //并集
        A = getAList();
        B = getBList();
        A.addAll(B);
        System.out.println("A、B并集:" + A);

        //差集
        A = getAList();
        B = getBList();
        A.removeAll(B);
        System.out.println("A、B差集:" + A);

        //无重复并集
        A = getAList();
        B = getBList();
        B.removeAll(A);
        A.addAll(B);
        System.out.println("A、B无重复并集:" + A);
    }
    private static ArrayList<String> getAList(){
        ArrayList<String> A = new ArrayList<String>();
        A.add("1");
        A.add("2");
        A.add("3");
        return A;
    }
    private static ArrayList<String> getBList(){
        ArrayList<String> B = new ArrayList<String>();
        B.add("2");
        B.add("3");
        B.add("4");
        return B;
    }
}

运行结果如下:

运行结果.png

详细实现代码,请自行查看源码。

上一篇下一篇

猜你喜欢

热点阅读