Kelas HashSet Java: Panduan untuk Pemula
Pengenalan
Halo, pengembang Java masa depan! Hari ini, kita akan menyelam ke dalam dunia yang menakjubkan dari HashSet di Java. Jangan khawatir jika Anda baru mengenal pemrograman; saya akan memandu Anda melalui perjalanan ini langkah demi langkah, sama seperti yang saya lakukan untuk banyak siswa selama tahun-tahun pengajaran saya. Pahami HashSet sebagai kotak penyihir yang dapat menyimpan item yang unik - tidak ada yang boleh digandakan! itu seperti memiliki rak penyimpanan khusus di mana Anda hanya dapat menempatkan satu pasang setiap jenis kaos kaki. Mari kita mulai!
Deklarasi Kelas
Di Java, HashSet adalah bagian dari Kerangka Kerja Koleksi Java. Untuk menggunakannya, kita harus mengimpor terlebih dahulu:
import java.util.HashSet;
Deklarasi dasar dari HashSet terlihat seperti ini:
HashSet<E> hs = new HashSet<E>();
Di sini, 'E' adalah placeholder untuk jenis elemen yang Anda ingin simpan di dalam HashSet Anda. Misalnya, jika Anda ingin menyimpan string:
HashSet<String> fruitBasket = new HashSet<String>();
Parameter
Saat membuat HashSet, Anda dapat menentukan dua parameter opsional:
- Kapasitas awal: Jumlah "wadah" yang HashSet akan gunakan untuk menyimpan elemen.
- Faktor beban: ukuran dari seberapa penuh HashSet dapat menjadi sebelum secara otomatis diperbesar ukurannya.
Jangan khawatir terlalu banyak tentang hal ini untuk saat ini. Pahami mereka sebagai pengaturan tingkat lanjut untuk kotak penyihir Anda!
Konstruktor Kelas
HashSet menyediakan empat konstruktor. Mari kita lihat masing-masing dari mereka:
// Konstruktor 1: Membuat HashSet kosong dengan kapasitas awal default (16) dan faktor beban (0.75)
HashSet<String> set1 = new HashSet<>();
// Konstruktor 2: Membuat HashSet yang berisi elemen dari koleksi yang ditentukan
Collection<String> collection = Arrays.asList("Apel", "Pisang", "Cherry");
HashSet<String> set2 = new HashSet<>(collection);
// Konstruktor 3: Membuat HashSet kosong dengan kapasitas awal yang ditentukan dan faktor beban default (0.75)
HashSet<String> set3 = new HashSet<>(20);
// Konstruktor 4: Membuat HashSet kosong dengan kapasitas awal dan faktor beban yang ditentukan
HashSet<String> set4 = new HashSet<>(20, 0.8f);
Metode Kelas
Berikut adalah tabel dari metode HashSet yang paling umum digunakan:
Metode | Deskripsi |
---|---|
add(E e) | Menambahkan elemen yang ditentukan ke set ini jika belum ada |
clear() | Menghapus semua elemen dari set ini |
contains(Object o) | Mengembalikan true jika set ini berisi elemen yang ditentukan |
isEmpty() | Mengembalikan true jika set ini tidak berisi elemen |
remove(Object o) | Menghapus elemen yang ditentukan dari set ini jika ada |
size() | Mengembalikan jumlah elemen di dalam set ini |
Metode Waris
HashSet mengwarisi metode dari kelas induknya. Beberapa yang perlu diketahui termasuk:
- Dari Set: addAll(), containsAll(), equals(), hashCode(), removeAll(), retainAll()
- Dari Collection: iterator(), toArray()
- Dari Object: clone(), finalize(), getClass(), notify(), notifyAll(), wait()
Contoh Penambahan Elemen ke HashSet
Mari kita gabungkan pengetahuan kita dengan contoh yang menyenangkan. Bayangkan kita membuat program untuk melacak rasa es krim yang unik di toko kita:
import java.util.HashSet;
public class IceCreamShop {
public static void main(String[] args) {
// Membuat HashSet baru untuk menyimpan rasa es krim
HashSet<String> flavors = new HashSet<>();
// Menambahkan beberapa rasa
flavors.add("Vanila");
flavors.add("Cokelat");
flavors.add("Strawberry");
flavors.add("Mint Chip");
// Mencoba menambahkan duplikat
boolean added = flavors.add("Vanila");
System.out.println("Vanila ditambahkan lagi? " + added);
System.out.println("Rasa es krim kami: " + flavors);
System.out.println("Kami memiliki " + flavors.size() + " rasa unik!");
// Memeriksa apakah kita memiliki rasa khusus
String searchFlavor = "Rocky Road";
if (flavors.contains(searchFlavor)) {
System.out.println("Ya, kami memiliki " + searchFlavor + "!");
} else {
System.out.println("Maaf, kami tidak memiliki " + searchFlavor + ".");
}
// Menghapus rasa
flavors.remove("Strawberry");
System.out.println("Rasa yang diperbarui setelah menghapus Strawberry: " + flavors);
}
}
Output
Saat Anda menjalankan program ini, Anda akan melihat sesuatu seperti ini:
Vanila ditambahkan lagi? false
Rasa es krim kami: [Vanila, Mint Chip, Cokelat, Strawberry]
Kami memiliki 4 rasa unik!
Maaf, kami tidak memiliki Rocky Road.
Rasa yang diperbarui setelah menghapus Strawberry: [Vanila, Mint Chip, Cokelat]
Mari kita uraikan apa yang terjadi:
- Kita membuat HashSet bernama
flavors
untuk menyimpan rasa es krim kita. - Kita menambahkan empat rasa: Vanila, Cokelat, Strawberry, dan Mint Chip.
- Kita mencoba menambahkan Vanila lagi, tetapi
add()
mengembalikanfalse
karena HashSet tidak mengizinkan duplikat. - Kita mencetak semua rasa kita. Perhatikan bahwa urutan mungkin berbeda dari cara kita menambahkannya - HashSet tidak menjaga urutan penyisipan.
- Kita memeriksa apakah kita memiliki rasa Rocky Road menggunakan
contains()
. Kita tidak, jadi itu mencetak pesan "maaf". - Akhirnya, kita menghapus Strawberry dan mencetak kumpulan rasa yang diperbarui.
Dan itu sudah! Anda baru saja membuat HashSet pertama Anda dan menggunakan beberapa metode yang paling penting. Ingat, HashSet sangat berguna ketika Anda perlu menyimpan elemen yang unik dan tidak peduli dengan urutan. Itu seperti tas marbel di mana setiap marbel adalah warna yang berbeda - Anda dapat dengan mudah memeriksa jika Anda memiliki warna khusus, tetapi Anda tidak dapat mengontrol urutan mereka saat Anda mengosongkan tas.
Sebagai Anda melanjutkan perjalanan Java Anda, Anda akan menemukan HashSet sangat berguna dalam banyak skenario. Tetap berlatih, dan segera Anda akan menjadi ahli HashSet! Selamat coding!
Credits: Image by storyset