Menu
Coddy logo textTech

数学 - HashSet の和集合

CoddyのJavaジャーニー「ロジックとフロー」セクションの一部 — レッスン 29/59。

二つの集合の和集合は、どちらかの集合に含まれるすべての要素を含む新しい集合です。Java では、二つの HashSet の和集合を addAll() メソッドを使って計算できます。このメソッドは、一方の集合からもう一方の集合へすべての要素を追加します(重複は無視されます)。

まず、2 つの新しい HashSet を作成します:

HashSet<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
HashSet<Integer> set2 = new HashSet<>();
set2.add(2);
set2.add(3);

2 番目のセットから要素をユニオンセットに追加するには、addAll() メソッドを使用してください。

// First, create a new HashSet with set1
HashSet<Integer> unionSet = new HashSet<>(set1);
unionSet.addAll(set2); // Then, add all elements from set2
System.out.println("Union: " + unionSet);
// Output: [1, 2, 3] (order may vary)
challenge icon

チャレンジ

簡単

<strong>unionSets</strong> という名前のメソッドを作成してください。このメソッドは、2 つの整数 HashSet を入力として受け取り、それらの和集合を計算し、以下の形式で出力します:

Union: [1, 2, 3]

チートシート

2 つの集合の 和集合 は、いずれかの集合に含まれるすべての要素を含みます。addAll() を使用して 2 つの HashSet の和集合を計算します:

HashSet<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
HashSet<Integer> set2 = new HashSet<>();
set2.add(2);
set2.add(3);

// 最初の集合をコピーし、2 番目の集合のすべての要素を追加することで和集合を作成
HashSet<Integer> unionSet = new HashSet<>(set1);
unionSet.addAll(set2);
System.out.println("Union: " + unionSet);
// 出力: [1, 2, 3] (順序は異なる場合があります)

自分で試してみよう

import java.util.HashSet;
import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;

public class Main {
    public static void unionSets(HashSet<Integer> set1, HashSet<Integer> set2) {
        // ここにコードを記述してください
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 最初のセットを表すJSON文字列を読み取る (例: [1,2])
        String set1String = scanner.nextLine();
        // 2番目のセットを表すJSON文字列を読み取る (例: [2,3])
        String set2String = scanner.nextLine();

        Type setType = new TypeToken<HashSet<Integer>>(){}.getType();
        HashSet<Integer> set1 = new Gson().fromJson(set1String, setType);
        HashSet<Integer> set2 = new Gson().fromJson(set2String, setType);
        
        unionSets(set1, set2);
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン