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详细实现代码,请自行查看源码。