Java HashMap: Kunci Anda untuk Penyimpanan dan Pemulihan Data yang Efisien

Pengenalan

Halo para pemrogram Java yang aspiratif! Hari ini, kita akan melakukan perjalanan yang menarik ke dunia Java HashMaps. Jangan dipikirkan nama yang keren ini mengintimidasi Anda. Pikirkanlah HashMap sebagai rak penyimpanan data yang super pintar. Itu seperti memiliki asisten pribadi yang dapat segera menemukan setiap potongan informasi yang Anda butuhkan!

Java - HashMap

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

Ayo kita melompat dan membuka rahasia kelas yang kuat ini!

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 sedang saat ini. Mari kita pecahkan:

  • public class HashMap<K,V>: Ini mengatakan 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 yang disebut AbstractMap.
  • implements Map<K,V>, Cloneable, Serializable: Ini adalah antarmuka yang diimplementasikan oleh HashMap, memberikan superkekuatan ekstra!

Parameter

Ingat analogi perpustakaan magis kita? Baiklah, di perpustakaan ini, setiap buku (nilai) memiliki nomor panggilan yang 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

HashMaps datang dengan empat konstruktor yang berbeda. Pikirkan tentang cara ini sebagai cara 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 khawatir terlalu banyak 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 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 Waris

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

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

Contoh

Mari kita melakukan praktek dengan pengetahuan baru kita dengan 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

Ketika 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 loop for-each untuk mengiterasi semua pasangan kunci-nilai yang tersisa dan mencetak mereka.

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

HashMaps sangat berguna dalam pemrograman dunia nyata. Mereka seperti pisaunya Swiss Army bagi struktur data – serbaguna, efisien, dan selalu nyaman untuk dipakai. Tetap mengeksplorasi, tetap coding, dan sebelum Anda sadari, Anda akan menjadi master HashMap!

Credits: Image by storyset