Java 程序计算两个集合之间的差集
在此示例中,我们将学习计算Java中两个集合之间的差集。
要理解此示例,您应该了解以下Java编程主题:
示例1:计算两组之间的差
示例import java.util.HashSet;
import java.util.Set;
class Main {
public static void main(String[] args) {
//创建第一个集合
Set numbers = new HashSet<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
System.out.println("数字: " + numbers);
//创建第二个集合
Set primeNumbers = new HashSet<>();
primeNumbers.add(2);
primeNumbers.add(3);
System.out.println("质数: " + primeNumbers);
//HashSet1和HashSet2的差集
numbers.removeAll(primeNumbers);
System.out.println("没有质数的数: " + numbers);
}
}
输出结果数字: [1, 2, 3, 4]
质数: [2, 3]
没有质数的数: [1, 4]
在上面的示例中,我们创建了两个名为numbers和primeNumbers的集合。我们使用HashSet类实现了该集合。注意这一行,numbers.retainAll(primeNumbers);
在这里,我们使用了removeAll()方法来计算两组之间的差集。
示例2:使用Guava库获取两组之间的差异import java.util.HashSet;
import java.util.Set;
import com.google.common.collect.Sets;
class Main {
public static void main(String[] args) {
//创建第一个集合
Set languages1 = new HashSet<>();
languages1.add("Java");
languages1.add("JavaScript");
languages1.add("English");
languages1.add("Spanish");
System.out.println("语言: " + languages1);
//创建第二个集合
Set languages2 = new HashSet<>();
languages2.add("English");
languages2.add("Spanish");
System.out.println("人类语言: " + languages2);
Set intersect = Sets.difference(languages1, languages2);
System.out.println("编程语言: " + intersect);
}
}
输出结果语言: [Java, JavaScript, English, Spanish]
人类语言: [English, Spanish]
编程语言: [Java, JavaScript]
在上面的示例中,我们使用了Guava库来获取两组之间的差集。为了运行该程序,您需要通过在依赖项中添加Guava库来实现它。
在这里,我们使用了Guava库中存在的Sets类的difference()方法。