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


在本文中,我们将了解如何在Java中计算两个集合的差集。集合是一个不能包含重复元素的集合。它模拟了数学集合的抽象概念。Set接口只包含从Collection继承的方法,并增加了禁止重复元素的限制。

问题陈述

编写一个Java程序来计算两个集合的差集。下面是演示:

输入

First set: [90, 75, 60, 45]
Second set: [90, 60]

输出

After subtraction of two sets:
[75, 45]

使用主方法

以下是使用main()方法计算两个集合差集的步骤:

  • java.util包导入HashSetSet类
  • 使用HashSet初始化两个集合以存储整数值。
  • 使用add()方法向两个集合添加元素。
  • 打印集合以显示减法之前的其内容。
  • 使用removeAll()方法从第一个集合中减去第二个集合。
  • 打印结果以显示两个集合的差集。

示例

在这里,我们将所有操作绑定在“main”方法下

import java.util.HashSet;
import java.util.Set;
public class Demo {
   public static void main(String[] args) {
      System.out.println("The required packages have been imported");
      Set<Integer> input_set_1 = new HashSet<>();
      input_set_1.add(45);
      input_set_1.add(60);
      input_set_1.add(75);
      input_set_1.add(90);
      System.out.println("The first set is defined as: " + input_set_1);
      Set<Integer> input_set_2 = new HashSet<>();
      input_set_2.add(60);
      input_set_2.add(90);
      System.out.println("The second set is defined as: " + input_set_2);
      input_set_1.removeAll(input_set_2);
      System.out.println("\nAfter subtraction of two sets: \n" + input_set_1);
   }
}

输出

The required packages have been imported
The first set is defined as: [90, 75, 60, 45]
The second set is defined as: [90, 60]

After subtraction of two sets:
[75, 45]

使用封装

以下是使用封装计算两个集合差集的步骤:

  • 导入必要的包。
  • 定义一个静态方法subtract(),它接受两个集合作为参数,并从第一个集合中移除第二个集合的所有元素。
  • 使用HashSet初始化两个集合,并使用add()方法添加元素。
  • 打印集合以显示减法之前的其内容。
  • 调用subtract()方法计算并打印两个集合的差集。

示例

在这里,我们将操作封装到函数中,展示了面向对象的编程

import java.util.HashSet;
import java.util.Set;
public class Demo {
   static void subtract(Set<Integer> input_set_1, Set<Integer> input_set_2){
      input_set_1.removeAll(input_set_2);
      System.out.println("\nAfter subtraction of two sets: \n" + input_set_1);
   }
   public static void main(String[] args) {
      System.out.println("The required packages have been imported");
      Set<Integer> input_set_1 = new HashSet<>();
      input_set_1.add(45);
      input_set_1.add(60);
      input_set_1.add(75);
      input_set_1.add(90);
      System.out.println("The first set is defined as: " + input_set_1);
      Set<Integer> input_set_2 = new HashSet<>();
      input_set_2.add(60);
      input_set_2.add(90);
      System.out.println("The second set is defined as: " + input_set_2);
      subtract(input_set_1, input_set_2);
   }
}

输出

The required packages have been imported
The first set is defined as: [90, 75, 60, 45]
The second set is defined as: [90, 60]

After subtraction of two sets:
[75, 45]

更新于:2024年9月9日

993 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告