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 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告