Menu
CoddyTech

Matematika: Beda Simetris

Termasuk bagian Logika & Alur dalam perjalanan Java di Coddy. Pelajaran 32 dari 59.

Selisih simetris dari dua set adalah set baru yang berisi elemen yang ada di salah satu set, tetapi tidak di keduanya. Di Java, kamu dapat menghitungnya dengan:

  1. Mencari selisih set pertama terhadap set kedua.
  1. Mencari selisih set kedua terhadap set pertama.
  1. Menggabungkan kedua perbedaan ini.

Pertama, buat dua HashSet:

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

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

Selanjutnya, hitung setiap selisih satu arah:

HashSet<Integer> diff1 = new HashSet<>(set1);
diff1.removeAll(set2);  // diff1 berisi [1]
HashSet<Integer> diff2 = new HashSet<>(set2);
diff2.removeAll(set1);  // diff2 berisi [4]

Selanjutnya, gabungkan kedua selisih tersebut:

diff1.addAll(diff2);  // diff1 berisi [1, 4]
challenge icon

Tantangan

Mudah

Buat method bernama symmetricDifference yang menerima dua HashSet berisi bilangan bulat sebagai input, menghitung selisih simetrisnya, lalu mencetaknya dengan format:

Symmetric Difference: [elements]

Coba sendiri

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 symmetricDifference(HashSet<Integer> set1, HashSet<Integer> set2) {
        // Tulis kodemu di sini
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Baca string JSON untuk set pertama (misalnya, [1,2,3])
        String set1String = scanner.nextLine();
        // Baca string JSON untuk set kedua (misalnya, [2,3,4])
        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);

        symmetricDifference(set1, set2);
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika & Alur

Latihan sendiri: Compiler Java online