Kelas Hashtable Java

Pengenalan

Halo para jagoan Java masa depan! Hari ini, kita akan memulai perjalanan yang menarik ke dunia Hashtable Java. Saya tahu apa yang mungkin Anda pikirkan: "Hashtables? Itu terdengar sama saja seperti menonton cat yang kering!" Tetapi percayalah, sekali Anda mengerti kekuatan Hashtables, Anda akan lihat bagaimana mereka dapat membuat hidup pengoding Anda jauh lebih mudah.

Java - Hashtable

Bayangkan Anda mencoba untuk mengorganisir koleksi rakit karet Anda yang luas (karena siapa yang tidak memiliki salah satunya, kan?). Anda bisa saja membuang mereka semua ke dalam rak besar, tapi lalu mencari rakit karet bajak favorit Anda akan menjadi mimpi buruk. Itu tempat Hashtable masuk - seperti memberikan setiap rakit rak tempatnya sendiri yang berlabel, sehingga Anda dapat menemukan rakit mana saja dalam sekali klik!

Deklarasi Kelas

Ayo kita mulai dengan dasar-dasar. Dalam Java, Hashtable di-deklarasikan seperti ini:

public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, Serializable

Jangan takut! Itu hanya cara Java menyatakan, "Hai, saya adalah Hashtable, dan saya dapat bekerja dengan jenis key (K) dan nilai (V) yang berbeda." Pernahkan Anda memikirkan itu sebagai wadah cerdas yang dapat menahan pasangan hal-hal, seperti nama (key) dan nomor telepon (nilai).

Konstruktor Kelas

Sekarang, mari kita lihat bagaimana kita dapat membuat Hashtable. Itu seperti membangun rakit karet Anda - Anda memiliki beberapa pilihan:

// Membuat Hashtable kosong
Hashtable<String, Integer> koleksiRakit = new Hashtable<>();

// Membuat Hashtable dengan kapasitas awal
Hashtable<String, Integer> koleksiRakitBesar = new Hashtable<>(100);

// Membuat Hashtable dari Map lain
Map<String, Integer> rakitLama = new HashMap<>();
Hashtable<String, Integer> rakitDisalin = new Hashtable<>(rakitLama);

Pada contoh pertama, kita membuat rak kosong untuk rakit kita. Pada contoh kedua, kita mengatakan, "Saya akan memiliki banyak rakit, jadi mari kita buat rak besar!" Dan pada contoh ketiga, kita menyalin rakit dari koleksi lain.

Metode Kelas

Hashtables datang dengan rak penuh dari metode yang berguna. Mari kita eksplor beberapa diantaranya:

Hashtable<String, Integer> inventarisRakit = new Hashtable<>();

// Menambahkan rakit
inventarisRakit.put("Rakit Karet Bajak", 5);

// Mendapatkan jumlah rakit bajak
int rakitBajak = inventarisRakit.get("Rakit Karet Bajak");

// Memeriksa apakah kita memiliki rakit ninja
boolean punyaRakitNinja = inventarisRakit.containsKey("Rakit Karet Ninja");

// Menghapus semua rakit (oh tidak!)
inventarisRakit.clear();

// Memeriksa apakah inventaris kita kosong
boolean tanpaRakitDanSedih = inventarisRakit.isEmpty();

Setiap metode ini membantu kita mengelola koleksi rakit kita. Kita dapat menambahkan rakit, memeriksa berapa banyak yang kita miliki, melihat apakah kita memiliki jenis tertentu, membersihkan koleksi kita (tetapi mengapa Anda mau?), dan memeriksa apakah kita telah kehabisan rakit (tragedi!).

Metode yang Diketurankan

Hashtable adalah bagian dari keluarga yang lebih besar di Java, dan itu mengikuti beberapa metode dari kerabatannya. Berikut adalah tabel beberapa metode yang penting yang diketurankan:

Metode Diturunkan Dari Deskripsi
clone() Object Membuat salinan dangkal dari Hashtable
equals(Object o) Object Membandingkan Hashtable ini dengan objek lain
hashCode() Object Mengembalikan kode hash untuk Hashtable ini
toString() Object Mengembalikan representasi string dari Hashtable
putAll(Map<? extends K,? extends V> t) Map Menyalin semua pemetaan dari Map yang ditentukan ke Hashtable ini

Metode ini seperti fitur ekstra yang datang dengan rak Anda. Anda dapat membuat salinan koleksi Anda, membandingkannya dengan koleksi lain, mendapatkan kode unik untuk itu, mengubahnya menjadi deskripsi, atau bahkan menambahkan banyak rakit sekaligus!

Contoh Menambahkan Pemetaan ke HashTable Integer, Integer Pair

Mari kita tempatkan semua pengetahuan ini ke praktek dengan contoh yang lebih kompleks:

public class PenghitungRakit {
public static void main(String[] args) {
// Membuat Hashtable untuk menyimpan jenis rakit dan jumlah mereka
Hashtable<Integer, Integer> sensusRakit = new Hashtable<>();

// Menambahkan beberapa jumlah rakit
sensusRakit.put(1, 10);  // Jenis rakit 1: 10 rakit
sensusRakit.put(2, 15);  // Jenis rakit 2: 15 rakit
sensusRakit.put(3, 5);   // Jenis rakit 3: 5 rakit

// Mencetak sensus rakit kami
System.out.println("Sensus Rakit: " + sensusRakit);

// Mari tambahkan lebih banyak rakit jenis 2
int jumlahRakit2Sekarang = sensusRakit.get(2);
sensusRakit.put(2, jumlahRakit2Sekarang + 5);

// Memeriksa jumlah yang diperbarui
System.out.println("Sensus Rakit Diperbarui: " + sensusRakit);

// Oh tidak! Semua rakit jenis 3 telah terbang
sensusRakit.remove(3);

// Jumlah rakit akhir
System.out.println("Sensus Rakit Akhir: " + sensusRakit);
}
}

Dalam contoh ini, kita menggunakan Hashtable untuk melacak jenis rakit yang berbeda. Setiap jenis rakit diberi nomor (key), dan kita menyimpan jumlah rakit (nilai). Kita menambahkan rakit, memperbarui jumlah mereka, dan bahkan menangani rakit jenis 3 yang kabur!

Ketika Anda menjalankan kode ini, Anda akan melihat bagaimana populasi rakit kita berubah dari waktu ke waktu. Itu seperti menjadi petugas sensus rakit, tetapi jauh lebih menyenangkan dan kurang mungkin untuk dikejar oleh angsa air yang marah. Dan itu sudah, folks! Anda baru saja mengambil langkah pertama Anda ke dunia Hashtable Java. Ingat, praktek membuat perfect, jadi jangan takut untuk bereksperimen dengan koleksi data Anda sendiri. Happy coding!

Credits: Image by storyset