Class LinkedHashMap di Java: Panduan Ramah untuk Pemula
Pengenalan
Halo semua, para ahli Java masa depan! Hari ini, kita akan melakukan perjalanan yang menarik ke dunia LinkedHashMap. Jangan khawatir jika Anda belum pernah menulis satu baris kode sebelumnya – saya akan menjadi panduan ramah Anda, dan kita akan menjelajahi topik ini bersama langkah demi langkah. Pada akhir tutorial ini, Anda akan kaget betapa banyak yang telah Anda pelajari!
LinkedHashMap seperti sebuah kotak penyihir yang dapat menyimpan item Anda (kami menyebut mereka pasangan kunci-nilai dalam pemrograman) dalam urutan yang spesifik. Bayangkan jika Anda mengatur rak buku favorit Anda. Anda tidak hanya dapat dengan cepat menemukan buku apa pun yang Anda inginkan, tetapi Anda juga dapat menjaganya dalam urutan yang Anda tambahkan atau berdasarkan seberapa sering Anda membacanya. Itulah yang dilakukan LinkedHashMap untuk data kita!
Deklarasi Kelas
Ayo kita mulai dengan cara mendeklarasikan LinkedHashMap di Java:
import java.util.LinkedHashMap;
public class MyLinkedHashMapExample {
public static void main(String[] args) {
LinkedHashMap<String, Integer> rakBukuSaya = new LinkedHashMap<>();
}
}
Dalam contoh ini, kita membuat sebuah LinkedHashMap bernama rakBukuSaya
. Bagian <String, Integer>
memberitahu Java bahwa kita akan menggunakan String sebagai kunci (judul buku) dan Integer sebagai nilai (mungkin jumlah halaman). Jangan khawatir jika ini terlihat membingungkan saat ini – kita akan membahas secara detil sebagai kita maju!
Parameter
Ketika bekerja dengan LinkedHashMap, kita memiliki beberapa parameter untuk dipertimbangkan:
- initialCapacity: Ini seperti menentukan berapa besar rak buku Anda harusnya saat ini.
- loadFactor: Pikirkan ini sebagai berapa penuh rak buku Anda dapat menjadi sebelum Anda memerlukan yang lebih besar.
- accessOrder: Ini menentukan apakah buku Anda diatur berdasarkan ketika Anda menambahkannya atau berberapa sering Anda mengakses mereka.
Lihatlah contoh ini:
LinkedHashMap<String, Integer> rakBukuSaya = new LinkedHashMap<>(16, 0.75f, true);
Di sini, kita mengatakan rak buku awal kita dapat menyimpan 16 buku, kita akan mempertimbangkan untuk mendapatkan rak yang lebih besar saat itu 75% penuh, dan kita ingin mengatur buku berdasarkan seberapa sering kita mengakses mereka.
Konstruktor Kelas
LinkedHashMap menawarkan beberapa cara untuk membuat rak penyihir kita. Berikut adalah konstruktor utama:
-
LinkedHashMap()
: Membuat sebuah LinkedHashMap kosong dengan pengaturan default. -
LinkedHashMap(int initialCapacity)
: Menentukan kapasitas awal. -
LinkedHashMap(int initialCapacity, float loadFactor)
: Menentukan kapasitas awal dan faktor beban. -
LinkedHashMap(int initialCapacity, float loadFactor, boolean accessOrder)
: Menentukan semua tiga parameter. -
LinkedHashMap(Map<? extends K, ? extends V> m)
: Membuat sebuah LinkedHashMap dengan pemetaan yang sama sebagai peta yang ditentukan.
Mari kita coba membuat LinkedHashMap menggunakan konstruktor yang berbeda:
LinkedHashMap<String, Integer> rak1 = new LinkedHashMap<>();
LinkedHashMap<String, Integer> rak2 = new LinkedHashMap<>(20);
LinkedHashMap<String, Integer> rak3 = new LinkedHashMap<>(20, 0.8f);
LinkedHashMap<String, Integer> rak4 = new LinkedHashMap<>(20, 0.8f, true);
Map<String, Integer> petaExist = new HashMap<>();
petaExist.put("Java Dasar", 200);
LinkedHashMap<String, Integer> rak5 = new LinkedHashMap<>(petaExist);
Masing-masing dari ini membuat "rak buku" yang sedikit berbeda berdasarkan kebutuhan kita. tidak menakjubkan betapa fleksibel Java ini?
Metode Kelas
Sekarang, mari kita lihat beberapa metode yang paling sering digunakan di LinkedHashMap. Saya akan menyajikannya dalam format tabel untuk referensi yang mudah:
Metode | Deskripsi |
---|---|
put(K key, V value) |
Menambahkan pasangan kunci-nilai baru ke LinkedHashMap |
get(Object key) |
Mengambil nilai yang terasosiasi dengan kunci yang ditentukan |
remove(Object key) |
Menghapus pemetaan untuk kunci yang ditentukan |
clear() |
Menghapus semua pemetaan dari LinkedHashMap |
size() |
Mengembalikan jumlah pasangan kunci-nilai di LinkedHashMap |
isEmpty() |
Mengembalikan true jika LinkedHashMap kosong |
containsKey(Object key) |
Mengembalikan true jika LinkedHashMap berisi kunci yang ditentukan |
containsValue(Object value) |
Mengembalikan true jika LinkedHashMap berisi nilai yang ditentukan |
keySet() |
Mengembalikan sebuah Set dari semua kunci di LinkedHashMap |
values() |
Mengembalikan sebuah Collection dari semua nilai di LinkedHashMap |
entrySet() |
Mengembalikan sebuah Set dari semua pasangan kunci-nilai di LinkedHashMap |
Lihatlah beberapa metode ini dalam aksi:
LinkedHashMap<String, Integer> rakBukuSaya = new LinkedHashMap<>();
// Menambahkan buku ke rak kita
rakBukuSaya.put("Java Dasar", 200);
rakBukuSaya.put("Struktur Data", 350);
rakBukuSaya.put("Algoritma", 400);
// Mendapatkan jumlah halaman untuk "Java Dasar"
int halamanJava = rakBukuSaya.get("Java Dasar");
System.out.println("Java Dasar memiliki " + halamanJava + " halaman.");
// Memeriksa apakah kita memiliki buku tentang Python
boolean punyaPython = rakBukuSaya.containsKey("Python untuk Pemula");
System.out.println("Apakah kita punya buku Python? " + punyaPython);
// Menghapus buku Algoritma
rakBukuSaya.remove("Algoritma");
// Mencetak semua judul buku
for (String judul : rakBukuSaya.keySet()) {
System.out.println("Judul buku: " + judul);
}
Kode potongan ini menunjukkan cara kita dapat menambahkan buku ke rak kita, mengambil informasi tentang mereka, memeriksa apakah kita memiliki buku tertentu, menghapus buku, dan menampilkan semua buku yang kita miliki. cukup keren, kan?
Metode Yang Diketurahkan
LinkedHashMap juga mengikutsertakan metode dari kelas induknya. Berikut adalah beberapa yang penting:
Diketurahkan Dari | Metode |
---|---|
HashMap |
clone() , compute() , computeIfAbsent() , computeIfPresent() , merge()
|
AbstractMap |
equals() , hashCode() , toString()
|
Object |
finalize() , getClass() , notify() , notifyAll() , wait()
|
Metode yang diketurahkan ini menyediakan fungsi tambahan yang dapat sangat berguna dalam beberapa situasi.
Contoh Mendapatkan Nilai dari LinkedHashMap
Akhirilah dengan contoh lengkap dari membuat sebuah LinkedHashMap, menambahkan beberapa nilai, dan mengambil mereka:
import java.util.LinkedHashMap;
public class ContohRakBuku {
public static void main(String[] args) {
LinkedHashMap<String, Integer> rakBukuSaya = new LinkedHashMap<>();
// Menambahkan buku ke rak kita
rakBukuSaya.put("Java Dasar", 200);
rakBukuSaya.put("Struktur Data", 350);
rakBukuSaya.put("Algoritma", 400);
// Mengambil dan mencetak informasi tentang setiap buku
for (String judul : rakBukuSaya.keySet()) {
int halaman = rakBukuSaya.get(judul);
System.out.println("Buku '" + judul + "' memiliki " + halaman + " halaman.");
}
// Mendapatkan buku spesifik
String bukuYangInginDitemukan = "Struktur Data";
if (rakBukuSaya.containsKey(bukuYangInginDitemukan)) {
int halaman = rakBukuSaya.get(bukuYangInginDitemukan);
System.out.println("\nDitemukan! '" + bukuYangInginDitemukan + "' memiliki " + halaman + " halaman.");
} else {
System.out.println("\nMaaf, kita tidak punya '" + bukuYangInginDitemukan + "' di rak kita.");
}
}
}
Output
Ketika Anda menjalankan kode ini, Anda akan melihat output seperti ini:
Buku 'Java Dasar' memiliki 200 halaman.
Buku 'Struktur Data' memiliki 350 halaman.
Buku 'Algoritma' memiliki 400 halaman.
Ditemukan! 'Struktur Data' memiliki 350 halaman.
Dan itu adalah! Anda baru saja membuat rak buku digital Anda sendiri menggunakan LinkedHashMap. Anda dapat menambahkan buku, menemukan berapa banyak halaman mereka, dan bahkan memeriksa apakah buku tertentu ada di rak Anda. Bukan programming yang menakjubkan?
Ingat, seperti mengatur rak buku yang nyata, semakin banyak Anda latihan menggunakan LinkedHashMap, semakin nyaman Anda akan menjadi dengannya. Jangan takut untuk bereksperimen dan mencoba hal-hal yang berbeda. Happy coding, para ahli Java masa depan!
Credits: Image by storyset