Java HashMap: Penyedia Anda untuk Penyimpanan dan Pengambilan Data yang Efisien

Pengenalan

Halo kepada semua yang mengaspi menjadi programmer Java! Hari ini, kita akan melakukan perjalanan yang menarik ke dunia Java HashMap. Jangan ketinggalan dengan nama yang keren ini. Pikirkan HashMap sebagai rak penyimpanan yang super pintar untuk data Anda. Ia seperti memiliki asisten pribadi yang dapat segera menemukan setiap informasi yang Anda butuhkan!

Java - HashMap

Saat saya pertama kali belajar tentang HashMap, saya membayangkan mereka seperti perpustakaan magis di mana buku (data kita) dapat terbang dari rak dan jatuh ke tangan kita saat kita meminta mereka. Itu hampir apa yang HashMap lakukan, tetapi dengan data komputer bukannya buku. Keren, kan?

Mari kita melompat dan membuka rahasia kelas ini yang kuat!

Deklarasi Kelas

Di Java, kelas HashMap dideklarasikan seperti ini:

public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable

Wah, itu banyak sekali, bukan? Jangan khawatir jika tampak seperti sup urat abjad saat ini. Mari kita pecahkan:

  • public class HashMap<K,V>: Ini memberitahu kita bahwa HashMap adalah kelas publik (siapa pun dapat menggunakannya) dan menggunakan dua parameter tipe, K untuk tipe kunci dan V untuk tipe nilai.
  • extends AbstractMap<K,V>: HashMap adalahbangun di atas kelas lain bernama AbstractMap.
  • implements Map<K,V>, Cloneable, Serializable: Ini adalah antarmuka yang diimplementasikan oleh HashMap, memberinya kemampuan ekstra!

Parameter

Ingat analogi perpustakaan magis kita? Baiklah, di perpustakaan ini, setiap buku (nilai) memiliki nomor panggilan unik (kunci). Dalam terminologi HashMap:

  • K: Tipe kunci yang dipelihara oleh peta ini
  • V: Tipe nilai yang dipetakan

Misalnya, jika Anda ingin menyimpan umur orang, Anda mungkin menggunakan String untuk nama (kunci) dan Integer untuk umur (nilai).

Konstruktor Kelas

HashMap memiliki empat konstruktor yang berbeda. Pikirkan ini sebagai cara yang berbeda untuk membangun perpustakaan magis kita:

  1. HashMap(): Membuat HashMap kosong dengan kapasitas dan faktor beban default.
  2. HashMap(int initialCapacity): Membuat HashMap kosong dengan kapasitas awal yang ditentukan dan faktor beban default.
  3. HashMap(int initialCapacity, float loadFactor): Membuat HashMap kosong dengan kapasitas awal dan faktor beban yang ditentukan.
  4. HashMap(Map<? extends K, ? extends V> m): Membuat HashMap baru dengan pemetaan yang sama seperti Map yang ditentukan.

Jangan terlalu khawatir tentang kapasitas dan faktor beban saat ini. Hanya tahu bahwa mereka mempengaruhi seberapa efisien HashMap kita beroperasi di belakang layar.

Metode Kelas

Sekarang, mari kita lihat beberapa hal yang keren yang dapat dilakukan oleh HashMap kita. Saya akan menunjukkan beberapa metode yang paling sering digunakan:

Metode Deskripsi
put(K key, V value) Menambahkan pasangan kunci-nilai ke peta
get(Object key) Mengambil nilai yang terkait dengan kunci yang ditentukan
remove(Object key) Menghapus pemetaan untuk kunci yang ditentukan
clear() Menghapus semua pemetaan dari peta
size() Mengembalikan jumlah pemetaan kunci-nilai di peta
isEmpty() Mengembalikan true jika peta tidak berisi pemetaan
containsKey(Object key) Mengembalikan true jika peta berisi kunci yang ditentukan
containsValue(Object value) Mengembalikan true jika peta berisi nilai yang ditentukan

Metode Yang Ditemukan

HashMap juga mewarisi metode dari kelas induk dan antarmuka mereka. Itu seperti perpustakaan magis kita mewarisi beberapa trik dari perpustakaan yang lebih tua dan lebih bijaksana! Berikut beberapa contoh:

  • Dari java.util.AbstractMap: equals(), hashCode(), toString()
  • Dari java.util.Map: putAll(), entrySet(), keySet(), values()

Contoh

Mari kita melakukan praktek dengan pengetahuan baru kita melalui contoh sederhana. Kita akan membuat HashMap untuk menyimpan umur beberapa ilmuwan terkenal:

import java.util.HashMap;

public class ScientistAges {
public static void main(String[] args) {
// Membuat HashMap baru
HashMap<String, Integer> scientistAges = new HashMap<>();

// Menambahkan beberapa pasangan kunci-nilai
scientistAges.put("Albert Einstein", 76);
scientistAges.put("Isaac Newton", 84);
scientistAges.put("Marie Curie", 66);

// Mengambil dan mencetak nilai
System.out.println("Umur Albert Einstein: " + scientistAges.get("Albert Einstein"));

// Memeriksa jika kunci ada
if (scientistAges.containsKey("Stephen Hawking")) {
System.out.println("Kami memiliki umur Stephen Hawking.");
} else {
System.out.println("Kami tidak memiliki umur Stephen Hawking.");
}

// Mencetak ukuran HashMap
System.out.println("Jumlah ilmuwan: " + scientistAges.size());

// Menghapus pasangan kunci-nilai
scientistAges.remove("Isaac Newton");

// Mencetak semua pasangan kunci-nilai
for (String name : scientistAges.keySet()) {
System.out.println(name + " menjalani usia " + scientistAges.get(name) + " tahun.");
}
}
}

Output

Saat kita menjalankan kode ini, ini adalah apa yang kita akan lihat:

Umur Albert Einstein: 76
Kami tidak memiliki umur Stephen Hawking.
Jumlah ilmuwan: 3
Albert Einstein menjalani usia 76 tahun.
Marie Curie menjalani usia 66 tahun.

Mari kita pecahkan apa yang terjadi:

  1. Kita membuat HashMap baru bernama scientistAges.
  2. Kita menambahkan tiga pasangan kunci-nilai: nama ilmuwan dan umurnya.
  3. Kita mengambil umur Einstein menggunakan metode get().
  4. Kita memeriksa jika kita memiliki umur Hawking menggunakan containsKey(). Kita tidak, jadi itu mencetak pesan "tidak memiliki".
  5. Kita mencetak jumlah ilmuwan di peta kita menggunakan size().
  6. Kita menghapus Newton dari peta menggunakan remove().
  7. Akhirnya, kita menggunakan pengulangan for-each untuk mengiterasi semua pasangan kunci-nilai yang tersisa dan mencetak mereka.

Dan itu sudah! Anda baru saja melakukan langkah pertama Anda ke dunia Java HashMap. Ingat, praktek membuat perfect. Cobalah membuat HashMap Anda sendiri dengan jenis data yang berbeda. Mungkin membuat peta dari buku favorit Anda dan penulis mereka, atau teman Anda dan nomor ponsel mereka.

HashMap sangat berguna dalam pemrograman dunia nyata. Mereka seperti pisa ujian dari struktur data – serbaguna, efisien, dan selalu mudah untuk digunakan. Terus eksplorasi, terus coding, dan sebelum Anda sadar, Anda akan menjadi master HashMap!

Credits: Image by storyset