Java教程

Java 计算两组差异的程序

Java 计算两组差值的程序

在这个例子中,我们将学习在 Java 中计算两个集合之间的差异。
要理解此示例,您应该了解以下Java 编程主题:
Java 集接口 Java HashSet 类

例1: 计算两组之间的差

import java.util.HashSet;
import java.util.Set;
class Main {
  public static void main(String[] args) {
    // create first set
    Set<Integer> numbers = new HashSet<>();
    numbers.add(1);
    numbers.add(2);
    numbers.add(3);
    numbers.add(4);
    System.out.println("Numbers: " + numbers);
    // create second set
    Set<Integer> 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]
在上面的例子中,我们创建了两个名为 numbersprimeNumbers 的集合。我们已经使用 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<String> languages1 = new HashSet<>();
    languages1.add("Java");
    languages1.add("JavaScript");
    languages1.add("English");
    languages1.add("Spanish");
    System.out.println("Languages: " + languages1);
    // create second set
    Set<String> languages2 = new HashSet<>();
    languages2.add("English");
    languages2.add("Spanish");
    System.out.println("Human Languages: " + languages2);
    Set<String> 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 library 来获取两组之间的差异.为了运行这个程序,你需要通过在你的依赖中添加它来实现 Guava 库。
这里,我们使用了 difference() 方法">设置类存在于番石榴库中。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4