阅读 645

Java 程序计算两个集合之间的差集

在此示例中,我们将学习计算Java中两个集合之间的差集。

要理解此示例,您应该了解以下Java编程主题:

  • Java Set 接口

  • Java HashSet 类

示例1:计算两组之间的差

示例

import java.util.HashSet;
import java.util.Set;class Main {
  public static void main(String[] args) {

    //创建第一个集合    Set<Integer> numbers = new HashSet<>();
    numbers.add(1);
    numbers.add(2);
    numbers.add(3);
    numbers.add(4);
    System.out.println("数字: " + numbers);

    //创建第二个集合    Set<Integer> 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<String> languages1 = new HashSet<>();
    languages1.add("Java");
    languages1.add("JavaScript");
    languages1.add("English");
    languages1.add("Spanish");
    System.out.println("语言: " + languages1);

    //创建第二个集合    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库来实现它。

在这里,我们使用了Guava库中存在的Sets类的difference()方法。


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐