Antarmuka Java Map – Panduan Lengkap Map, Implementasinya, dan Metode Kunci
Antarmuka Java Map
Tutorial ini membahas antarmuka Map Java, mencakup strukturnya, implementasi, metode kunci, dan penggunaan dalam dunia nyata.
Antarmuka Map, bagian dari paket java.util, menyediakan tulang punggung untuk koleksi pasangan kunci/nilai dalam framework koleksi Java.
Cara Kerja Map
Di Java, sebuah Map menyimpan data sebagai pasangan kunci/nilai unik. Setiap kunci berbeda dan memetakan ke satu nilai, memastikan tidak ada kunci duplikat.
Kita dapat mengambil atau memperbarui nilai dengan merujuk ke kunci.
Misalnya, kunci us, br, dan es memetakan ke nilai United States, Brazil, dan Spain, masing-masing.
Secara khusus, antarmuka Map mengelola tiga koleksi yang berbeda:
Set semua kunci
Set semua nilai
Set semua asosiasi kunci/nilai (entri)
Set ini memungkinkan Anda mengakses kunci, nilai, atau entri secara independen.
Kelas yang Mengimplementasikan Map
Karena Map adalah antarmuka, Anda tidak dapat membuat instance langsung. Sebaliknya, gunakan salah satu kelas konkret berikut, yang semuanya berada di paket java.util:
HashMap
EnumMap
LinkedHashMap
WeakHashMap
TreeMap
Subantarmuka yang Memperluas Map
Antarmuka Map diperluas oleh beberapa subantarmuka spesialisasi yang menambahkan jaminan pengurutan atau konkuren:
SortedMap – Mempertahankan entri yang diurutkan berdasarkan kunci.
NavigableMap – Memperluas SortedMap dengan metode navigasi.
ConcurrentMap – Menyediakan operasi yang aman untuk thread.
Menggunakan Map dalam Kode Anda
Pertama, impor antarmuka:
import java.util.Map;
Kemudian buat instance konkret. Misalnya, menggunakan HashMap:
// Map implementation using HashMap Map<Key, Value> numbers = new HashMap<>();
Di sini, Key mewakili pengidentifikasi unik, sedangkan Value menyimpan data yang terkait.
Metode Inti Map
Selain metode antarmuka Collection, Map menawarkan operasi khusus:
put(K, V) – Menambahkan pasangan kunci/nilai; mengganti nilai jika kunci sudah ada.
putAll() – Menggabungkan entri dari map lain ke dalam ini.
putIfAbsent(K, V) – Menyisipkan hanya ketika kunci belum terpeta.
get(K) – Mengambil nilai untuk kunci tertentu, atau null jika tidak ada.
getOrDefault(K, defaultValue) – Mengembalikan nilai yang dipetakan atau default yang ditentukan.
containsKey(K) – Memeriksa keberadaan kunci.
containsValue(V) – Memeriksa keberadaan nilai.
replace(K, V) – Memperbarui nilai untuk kunci.
replace(K, oldValue, newValue) – Penggantian bersyarat saat nilai saat ini cocok.
remove(K) – Menghapus entri untuk kunci.
remove(K, V) – Menghapus entri hanya jika kunci memetakan ke nilai yang ditentukan.
keySet() – Mengembalikan Set semua kunci.
values() – Mengembalikan Collection semua nilai.
entrySet() – Mengembalikan Set semua pemetaan kunci/nilai.
Contoh Implementasi Map
1. Contoh HashMap
import java.util.Map; import java.util.HashMap; class Main { public static void main(String[] args) { // Creating a map using the HashMap Map<String, Integer> numbers = new HashMap<>(); // Insert elements into the map numbers.put("One", 1); numbers.put("Two", 2); System.out.println("Map: " + numbers); // Access keys of the map System.out.println("Keys: " + numbers.keySet()); // Access values of the map System.out.println("Values: " + numbers.values()); // Access entries of the map System.out.println("Entries: " + numbers.entrySet()); // Remove an element from the map int value = numbers.remove("Two"); System.out.println("Removed Value: " + value); } }
Untuk detail lebih lanjut tentang HashMap, kunjungi Java HashMap.
2. Contoh TreeMap
import java.util.Map; import java.util.TreeMap; class Main { public static void main(String[] args) { // Creating Map using TreeMap Map<String, Integer> values = new TreeMap<>(); // Insert elements into the map values.put("Second", 2); values.put("First", 1); System.out.println("Map using TreeMap: " + values); // Replacing the values values.replace("First", 11); values.replace("Second", 22); System.out.println("New Map: " + values); // Remove elements from the map int removedValue = values.remove("First"); System.out.println("Removed Value: " + removedValue); } }
Output
Map using TreeMap: {First=1, Second=2} New Map: {First=11, Second=22} Removed Value: 11
Untuk detail lebih lanjut tentang TreeMap, kunjungi Java TreeMap.