Menguasai Java HashMap: Operasi, Contoh, dan Praktik Terbaik
Menguasai Java HashMap
Jelajahi kelas HashMap Java—fitur inti, operasi umum, dan contoh praktis—sehingga Anda dapat menggunakannya dengan percaya diri dalam aplikasi dunia nyata.
Kelas HashMap, bagian dari framework koleksi Java, mengimplementasikan tabel hash yang menyimpan data dalam pasangan kunci/nilai. Setiap kunci unik dan bertindak sebagai pengidentifikasi untuk nilainya. Kelas ini mengimplementasikan antarmuka Map, menyediakan API serbaguna untuk manipulasi data.
Membuat HashMap
Mulailah dengan mengimpor paket java.util.HashMap:
import java.util.HashMap;
Kemudian buat instance map. Anda dapat menentukan tipe kunci generik K dan tipe nilai V, atau mengandung inferensi tipe:
HashMap<K, V> numbers = new HashMap<>();
Contoh dengan tipe konkret:
HashMap<String, Integer> numbers = new HashMap<>();
Contoh 1: Pembuatan HashMap Dasar
import java.util.HashMap; class Main { public static void main(String[] args) { HashMap<String, Integer> languages = new HashMap<>(); languages.put("Java", 8); languages.put("JavaScript", 1); languages.put("Python", 3); System.out.println("HashMap: " + languages); } }
Output
HashMap: {Java=8, JavaScript=1, Python=3}
Operasi Inti pada HashMap
Kelas HashMap menawarkan serangkaian metode yang kaya. Di bawah ini kita membahas yang paling sering digunakan:
Menambahkan elemen
Mengakses elemen
Memperbarui elemen
Menghapus elemen
1. Menambahkan Elemen
Gunakan put() untuk menyisipkan pasangan kunci/nilai. Jika kunci sudah ada, nilai akan diganti.
import java.util.HashMap; class Main { public static void main(String[] args) { HashMap<String, Integer> numbers = new HashMap<>(); System.out.println("Initial HashMap: " + numbers); numbers.put("One", 1); numbers.put("Two", 2); numbers.put("Three", 3); System.out.println("HashMap after put(): " + numbers); } }
Output
Initial HashMap: {} HashMap after put(): {One=1, Two=2, Three=3}
Kunci: String, Nilai: Integer dalam contoh ini.
2. Mengakses Elemen
Ambil nilai dengan get(key). Metode ini mengembalikan null jika kunci tidak ada.
import java.util.HashMap; class Main { public static void main(String[] args) { HashMap<Integer, String> languages = new HashMap<>(); languages.put(1, "Java"); languages.put(2, "Python"); languages.put(3, "JavaScript"); System.out.println("HashMap: " + languages); String value = languages.get(1); System.out.println("Value at key 1: " + value); } }
Output
HashMap: {1=Java, 2=Python, 3=JavaScript} Value at key 1: Java
Anda juga dapat mendapatkan himpunan kunci lengkap, koleksi nilai, atau himpunan entri melalui keySet(), values(), dan entrySet():
import java.util.HashMap; class Main { public static void main(String[] args) { HashMap<Integer, String> languages = new HashMap<>(); languages.put(1, "Java"); languages.put(2, "Python"); languages.put(3, "JavaScript"); System.out.println("HashMap: " + languages); System.out.println("Keys: " + languages.keySet()); System.out.println("Values: " + languages.values()); System.out.println("Entries: " + languages.entrySet()); } }
Metode replace(key, newValue) menukar nilai yang ada untuk kunci yang diberikan. Ia mengembalikan nilai lama atau null jika kunci tidak ada.
import java.util.HashMap; class Main { public static void main(String[] args) { HashMap<Integer, String> languages = new HashMap<>(); languages.put(1, "Java"); languages.put(2, "Python"); languages.put(3, "JavaScript"); System.out.println("Original HashMap: " + languages); languages.replace(2, "C++"); System.out.println("After replace(): " + languages); } }
Output
Original HashMap: {1=Java, 2=Python, 3=JavaScript} After replace(): {1=Java, 2=C++, 3=JavaScript}
4. Menghapus Elemen
Hapus pemetaan dengan remove(key), yang mengembalikan nilai yang dihapus. Untuk penghapusan bersyarat, gunakan remove(key, value), yang hanya menghapus jika pemetaan saat ini cocok dengan nilai yang ditentukan.
import java.util.HashMap; class Main { public static void main(String[] args) { HashMap<Integer, String> languages = new HashMap<>(); languages.put(1, "Java"); languages.put(2, "Python"); languages.put(3, "JavaScript"); System.out.println("HashMap: " + languages); String removed = languages.remove(2); System.out.println("Removed value: " + removed); System.out.println("Updated HashMap: " + languages); } }