Java之兩個Set集合的交集、差集和並集
阿新 • • 發佈:2018-12-17
一、求交集
注:場景是讀取兩個檔案,把檔案內容放到Set中,求兩個檔案之間的共同元素。在這裡只寫對Set的操作。
public static void main(String[] args) throws Exception { String path1 = "path1"; String path2 = "path2"; Set<String> set1 = readFile(path1); Set<String> set2 = readFile(path2); Set<String> set = new HashSet<String>(); set.addAll(set1); set.retainAll(set2); System.out.println(set); }
二、求差集
1)、獲取在set1而不在set2中的元素
public static void main(String[] args) throws Exception { String path1 = "path1"; String path2 = "path2"; Set<String> set1 = readFile(path1); Set<String> set2 = readFile(path2); Set<String> set = new HashSet<String>(); set.addAll(set1); set.removeAll(set2); System.out.println(set); }
2)、獲取在set2不在set1中的元素
public static void main(String[] args) throws Exception { String path1 = "path1"; String path2 = "path2"; Set<String> set1 = readFile(path1); Set<String> set2 = readFile(path2); Set<String> set = new HashSet<String>(); set.addAll(set2); set.removeAll(set1); System.out.println(set); }
三、求並集
public static void main(String[] args) throws Exception {
String path1 = "path1";
String path2 = "path2";
Set<String> set1 = readFile(path1);
Set<String> set2 = readFile(path2);
Set<String> set = new HashSet<String>();
set.addAll(set2);
set.addAll(set1);
System.out.println(set);
}