Menu
CoddyTech

Rekap: HashSet

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

challenge icon

Tantangan

Mudah

Buat method bernama processHashSet yang menerima tiga argumen:

  1. HashSet<Object> (set)
  2. Object (input) yang akan diproses
  3. String (operation) yang menentukan operasi yang akan dilakukan

Dengan menggunakan pernyataan if/else dan method HashSet yang sudah kamu pelajari, method tersebut harus mengembalikan String berdasarkan operation:

  • "add": tambahkan input ke set. Kembalikan "Added successfully" jika berhasil ditambahkan, atau "Element already exists" jika sudah ada di dalam set.
  • "remove": hapus input dari set. Kembalikan "Removed successfully" jika berhasil dihapus, atau "Element not found" jika tidak ada di dalam set.
  • "find": kembalikan "Found at index: [index]" jika set berisi input (dengan [index] sebagai posisi elemen dalam urutan iterasi), jika tidak, kembalikan "Element not found".
  • "count": kembalikan "Number of elements: [count]", dengan [count] sebagai jumlah elemen dalam set (gunakan size()).

Validasi input terlebih dahulu:

  • Jika set adalah null: kembalikan "Invalid set".
  • Jika operation adalah null atau bukan salah satu dari empat operasi di atas: kembalikan "Invalid operation".
  • Untuk operasi "find", jika input adalah null: kembalikan "Cannot find null".

Coba sendiri

import java.util.HashSet;
import java.util.Scanner;
import java.util.Arrays;

public class Main {
    public static String processHashSet(HashSet<Object> set, Object input, String operation) {
        // Tulis kodemu di sini
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Baca set awal
        String[] items = scanner.nextLine().split(",");
        HashSet<Object> set = new HashSet<>();
        if (!items[0].equals("empty")) {
            for (String item : items) {
                // Coba uraikan sebagai bilangan bulat terlebih dahulu
                try {
                    set.add(Integer.parseInt(item));
                } catch (NumberFormatException e) {
                    set.add(item);
                }
            }
        }
        
        // Baca input
        String inputStr = scanner.nextLine();
        Object input;
        try {
            input = Integer.parseInt(inputStr);
        } catch (NumberFormatException e) {
            input = inputStr;
        }
        
        // Baca operasi
        String operation = scanner.nextLine();
        
        System.out.println(processHashSet(set, input, operation));
    }
}

Semua pelajaran di Logika & Alur

Latihan sendiri: Compiler Java online