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!
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 danV
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:
-
HashMap()
: Membuat HashMap kosong dengan kapasitas dan faktor beban default. -
HashMap(int initialCapacity)
: Membuat HashMap kosong dengan kapasitas awal yang ditentukan dan faktor beban default. -
HashMap(int initialCapacity, float loadFactor)
: Membuat HashMap kosong dengan kapasitas awal dan faktor beban yang ditentukan. -
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:
- Kita membuat HashMap baru bernama
scientistAges
. - Kita menambahkan tiga pasangan kunci-nilai: nama ilmuwan dan umurnya.
- Kita mengambil umur Einstein menggunakan metode
get()
. - Kita memeriksa jika kita memiliki umur Hawking menggunakan
containsKey()
. Kita tidak, jadi itu mencetak pesan "tidak memiliki". - Kita mencetak jumlah ilmuwan di peta kita menggunakan
size()
. - Kita menghapus Newton dari peta menggunakan
remove()
. - 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