在此示例中,我們將學習計算Java中兩個集合之間的差集。
要理解此示例,您應該了解以下Java編程主題:
import java.util.HashSet; import java.util.Set; class Main { public static void main(String[] args) { //創(chuàng)建第一個集合 Set<Integer> numbers = new HashSet<>(); numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(4); System.out.println("數(shù)字: " + numbers); //創(chuàng)建第二個集合 Set<Integer> primeNumbers = new HashSet<>(); primeNumbers.add(2); primeNumbers.add(3); System.out.println("質(zhì)數(shù): " + primeNumbers); //HashSet1和HashSet2的差集 numbers.removeAll(primeNumbers); System.out.println("沒有質(zhì)數(shù)的數(shù): " + numbers); } }
輸出結果
數(shù)字: [1, 2, 3, 4] 質(zhì)數(shù): [2, 3] 沒有質(zhì)數(shù)的數(shù): [1, 4]
在上面的示例中,我們創(chuàng)建了兩個名為numbers和primeNumbers的集合。我們使用HashSet類實現(xiàn)了該集合。注意這一行,
numbers.retainAll(primeNumbers);
在這里,我們使用了removeAll()方法來計算兩組之間的差集。
import java.util.HashSet; import java.util.Set; import com.google.common.collect.Sets; class Main { public static void main(String[] args) { //創(chuàng)建第一個集合 Set<String> languages1 = new HashSet<>(); languages1.add("Java"); languages1.add("JavaScript"); languages1.add("English"); languages1.add("Spanish"); System.out.println("語言: " + languages1); //創(chuàng)建第二個集合 Set<String> languages2 = new HashSet<>(); languages2.add("English"); languages2.add("Spanish"); System.out.println("人類語言: " + languages2); Set<String> intersect = Sets.difference(languages1, languages2); System.out.println("編程語言: " + intersect); } }
輸出結果
語言: [Java, JavaScript, English, Spanish] 人類語言: [English, Spanish] 編程語言: [Java, JavaScript]
在上面的示例中,我們使用了Guava庫來獲取兩組之間的差集。為了運行該程序,您需要通過在依賴項中添加Guava庫來實現(xiàn)它。
在這里,我們使用了Guava庫中存在的Sets類的difference()方法。