Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

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.

Menguasai Java HashMap: Operasi, Contoh, dan Praktik Terbaik

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:


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()); } }

Output

HashMap: {1=Java, 2=Python, 3=JavaScript} Keys: [1, 2, 3] Values: [Java, Python, JavaScript] Entries: [1=Java, 2=Python, 3=JavaScript]

3. Memperbarui Nilai

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); } }

Output

HashMap: {1=Java, 2=Python, 3=JavaScript} Removed value: Python Updated HashMap: {1=Java, 3=JavaScript}

Metode Tambahan HashMap

MetodeDeskripsi
clear()Menghapus semua pemetaan
compute()Menghitung nilai baru untuk kunci
computeIfAbsent()Menghitung nilai hanya jika kunci hilang
computeIfPresent()Menghitung nilai hanya jika kunci ada
merge()Menggabungkan pemetaan baru dengan yang ada
clone()Membuat salin dangkal
containsKey()Memeriksa kunci tertentu
containsValue()Memeriksa nilai tertentu
size()Jumlah pasangan kunci/nilai
isEmpty()Apakah map kosong

Melakukan Iterasi pada HashMap

Gunakan loop for-each untuk menelusuri kunci, nilai, atau entri. Impor java.util.Map.Entry untuk iterasi entri.

import java.util.HashMap; import java.util.Map.Entry; 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.print("Keys: "); for (Integer key : languages.keySet()) { System.out.print(key + ", "); } System.out.print("\nValues: "); for (String value : languages.values()) { System.out.print(value + ", "); } System.out.print("\nEntries: "); for (Entry<Integer, String> entry : languages.entrySet()) { System.out.print(entry + ", "); } } }

Output

HashMap: {1=Java, 2=Python, 3=JavaScript} Keys: 1, 2, 3, Values: Java, Python, JavaScript, Entries: 1=Java, 2=Python, 3=JavaScript,

Membuat HashMap dari Map Lain

Buat instance HashMap dengan isi dari map yang sudah ada:

import java.util.HashMap; import java.util.TreeMap; class Main { public static void main(String[] args) { TreeMap<String, Integer> evenNumbers = new TreeMap<>(); evenNumbers.put("Two", 2); evenNumbers.put("Four", 4); System.out.println("TreeMap: " + evenNumbers); HashMap<String, Integer> numbers = new HashMap<>(evenNumbers); numbers.put("Three", 3); System.out.println("HashMap: " + numbers); } }

Output

TreeMap: {Four=4, Two=2} HashMap: {Two=2, Three=3, Four=4}

Parameter konstruktor opsi memungkinkan Anda mengatur kapasitas awal dan faktor beban:

HashMap<K, V> numbers = new HashMap<>(8, 0.6f);

Default adalah kapasitas = 16 dan faktor beban = 0.75.

Untuk mendalami lebih jauh, konsultasikan dokumentasi Java resmi atau sumber otoritatif seperti "Effective Java" oleh Joshua Bloch.


java

  1. Menguasai Operator Java: Tipe, Sintaks, & Contoh Praktis
  2. Komentar Java: Tipe, Penggunaan, dan Best Practices
  3. Menguasai Java Enhanced For Loop: Sintaks, Contoh, dan Best Practices
  4. Menguasai String Java: Pembuatan, Metode, dan Best Practices
  5. Menguasai Antarmuka Java: Konsep, Implementasi, dan Praktik Terbaik
  6. Menguasai Kelas Dalam Anonim Java: Definisi, Sintaks, dan Contoh Praktis
  7. Menguasai Java Try-with-Resources: Manajemen Sumber Daya Otomatis Dijelaskan
  8. Anotasi Java Dijelaskan: Jenis, Penempatan, dan Contoh Praktis
  9. Pernyataan Java: Panduan Praktis untuk Mendeteksi Bug dan Memastikan Keandalan Kode
  10. Memahami Java Vector: Penggunaan, Fitur, dan Perbandingan dengan ArrayList