示例1:计算两组之间的差
import java.util.HashSet;
import java.util.Set;
class Main {
public static void main(String[] args) {
// create first set
Set numbers = new HashSet<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
System.out.println("Numbers: " + numbers);
// create second set
Set primeNumbers = new HashSet<>();
primeNumbers.add(2);
primeNumbers.add(3);
System.out.println("Prime Numbers: " + primeNumbers);
// Difference between HashSet1 and HashSet2
numbers.removeAll(primeNumbers);
System.out.println("Numbers without prime numbers: " + numbers);
}
}
输出
Numbers: [1, 2, 3, 4]
Prime Numbers: [2, 3]
Numbers without prime numbers: [1, 4]
在上面的示例中,我们创建了两个名为number和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) {
// create the first set
Set languages1 = new HashSet<>();
languages1.add("Java");
languages1.add("JavaScript");
languages1.add("English");
languages1.add("Spanish");
System.out.println("Languages: " + languages1);
// create second set
Set languages2 = new HashSet<>();
languages2.add("English");
languages2.add("Spanish");
System.out.println("Human Languages: " + languages2);
Set intersect = Sets.difference(languages1, languages2);
System.out.println("Programming Languages: " + intersect);
}
}
输出
Languages: [Java, JavaScript, English, Spanish]
Human Languages: [English, Spanish]
Programming Languages: [Java, JavaScript]
在上面的示例中,我们使用了Guava库来获取两组之间的差异。为了运行该程序,您需要通过在依赖项中添加Guava库来实现它。
在这里,我们使用了Guava库中存在的Sets类的difference()
方法。