java
Dalam tutorial ini, kita akan belajar tentang kelas Java HashMap dan berbagai operasinya dengan bantuan contoh.
HashMap
kelas kerangka koleksi Java menyediakan fungsionalitas struktur data tabel hash.
Ini menyimpan elemen di kunci/nilai berpasangan. Di sini, kunci adalah pengidentifikasi unik yang digunakan untuk mengaitkan setiap nilai di peta.
HashMap
class mengimplementasikan antarmuka Peta.
Untuk membuat peta hash, kita harus mengimpor java.util.HashMap
paket dulu. Setelah kita mengimpor paket, berikut adalah cara membuat hashmap di Java.
// hashMap creation with 8 capacity and 0.6 load factor
HashMap<K, V> numbers = new HashMap<>();
Pada kode di atas, kita telah membuat sebuah hashmap bernama numbers . Di sini, K mewakili jenis kunci dan V mewakili jenis nilai. Misalnya,
HashMap<String, Integer> numbers = new HashMap<>();
Di sini, jenis kunci adalah String
dan jenis nilai adalah Integer
.
import java.util.HashMap;
class Main {
public static void main(String[] args) {
// create a hashmap
HashMap<String, Integer> languages = new HashMap<>();
// add elements to hashmap
languages.put("Java", 8);
languages.put("JavaScript", 1);
languages.put("Python", 3);
System.out.println("HashMap: " + languages);
}
}
Keluaran
HashMap: {Java=8, JavaScript=1, Python=3}
Pada contoh di atas, kita telah membuat HashMap
bernama bahasa .
Di sini, kami telah menggunakan put()
metode untuk menambahkan elemen ke hashmap. Kita akan mempelajari lebih lanjut tentang put()
metode nanti dalam tutorial ini.
HashMap
class menyediakan berbagai metode untuk melakukan operasi yang berbeda pada hashmaps. Kita akan melihat beberapa operasi daftar array yang umum digunakan dalam tutorial ini:
Untuk menambahkan satu elemen ke hashmap, kami menggunakan put()
metode HashMap
kelas. Misalnya,
import java.util.HashMap;
class Main {
public static void main(String[] args) {
// create a hashmap
HashMap<String, Integer> numbers = new HashMap<>();
System.out.println("Initial HashMap: " + numbers);
// put() method to add elements
numbers.put("One", 1);
numbers.put("Two", 2);
numbers.put("Three", 3);
System.out.println("HashMap after put(): " + numbers);
}
}
Keluaran
Initial HashMap: {} HashMap after put(): {One=1, Two=2, Three=3}
Pada contoh di atas, kita telah membuat HashMap
bernama angka . Di sini, kami telah menggunakan put()
metode untuk menambahkan elemen ke angka.
Perhatikan pernyataannya,
numbers.put("One", 1);
Di sini, kita melewati String
nilai Satu sebagai kunci dan Integer
nilai 1 sebagai nilai untuk put()
metode.
Bacaan yang Disarankan
Kita dapat menggunakan get()
metode untuk mengakses nilai dari hashmap. Misalnya,
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);
// get() method to get value
String value = languages.get(1);
System.out.println("Value at index 1: " + value);
}
}
Keluaran
HashMap: {1=Java, 2=Python, 3=JavaScript} Value at index 1: Java
Pada contoh di atas, perhatikan ekspresi,
languages.get(1);
Di sini, get()
metode mengambil kunci sebagai argumennya dan mengembalikan nilai . yang sesuai terkait dengan kunci.
Kami juga dapat mengakses kunci , nilai , dan kunci/nilai pasang peta hash sebagai tampilan yang disetel menggunakan keySet()
, values()
, dan entrySet()
metode masing-masing. Misalnya,
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);
// return set view of keys
// using keySet()
System.out.println("Keys: " + languages.keySet());
// return set view of values
// using values()
System.out.println("Values: " + languages.values());
// return set view of key/value pairs
// using entrySet()
System.out.println("Key/Value mappings: " + languages.entrySet());
}
}
Keluaran
HashMap: {1=Java, 2=Python, 3=JavaScript} Keys: [1, 2, 3] Values: [Java, Python, JavaScript] Key/Value mappings: [1=Java, 2=Python, 3=JavaScript]
Pada contoh di atas, kami telah membuat peta hash bernama bahasa . Di sini, kami mengakses kunci , nilai , dan kunci/nilai pemetaan dari hashmap.
Bacaan yang Disarankan
Kita dapat menggunakan replace()
metode untuk mengubah nilai yang terkait dengan kunci dalam hashmap. Misalnya,
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);
// change element with key 2
languages.replace(2, "C++");
System.out.println("HashMap using replace(): " + languages);
}
}
Keluaran
Original HashMap: {1=Java, 2=Python, 3=JavaScript} HashMap using replace(): {1=Java, 2=C++, 3=JavaScript}
Pada contoh di atas, kami telah membuat peta hash bernama bahasa . Perhatikan ekspresinya,
languages.replace(2, "C++");
Di sini, kami mengubah nilai yang dirujuk oleh kunci 2 dengan nilai baru C++ .
HashMap
class juga menyediakan beberapa variasi dari replace()
metode. Untuk mempelajari lebih lanjut, kunjungi
Untuk menghapus elemen dari hashmap, kita dapat menggunakan metode remove(). Misalnya,
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);
// remove element associated with key 2
String value = languages.remove(2);
System.out.println("Removed value: " + value);
System.out.println("Updated HashMap: " + languages);
}
}
Keluaran
HashMap: {1=Java, 2=Python, 3=JavaScript} Removed value: Python Updated HashMap: {1=Java, 3=JavaScript}
Di sini, remove()
metode mengambil kunci sebagai parameternya. Kemudian mengembalikan nilai terkait dengan kunci dan menghapus entri .
Kami juga dapat menghapus entri hanya dalam kondisi tertentu. Misalnya,
remove(2, "C++");
Di sini, remove()
metode hanya menghapus entri jika kunci 2 dikaitkan dengan nilai C++ . Sejak 2 tidak terkait dengan C++ , itu tidak menghapus entri.
Untuk mempelajari lebih lanjut, kunjungi Java HashMap remove().
Metode | Deskripsi |
---|---|
jelas() | menghapus semua pemetaan dari HashMap |
hitung() | menghitung nilai baru untuk kunci yang ditentukan |
computeIfAbsent() | menghitung nilai jika pemetaan untuk kunci tidak ada |
computeIfPresent() | menghitung nilai untuk pemetaan jika kunci ada |
gabung() | menggabungkan pemetaan yang ditentukan ke HashMap |
kloning() | membuat salinan dari HashMap |
berisiKey() | memeriksa apakah kunci yang ditentukan ada di Hashmap |
berisiValue() | memeriksa apakah Hashmap berisi nilai yang ditentukan |
ukuran() | mengembalikan jumlah item dalam HashMap |
isEmpty() | memeriksa apakah Hashmap kosong |
Untuk mengulangi setiap entri hashmap, kita dapat menggunakan Java untuk setiap loop. Kami dapat mengulangi melalui hanya tombol , hanya lembah , dan pemetaan kunci/nilai . Misalnya,
import java.util.HashMap;
import java.util.Map.Entry;
class Main {
public static void main(String[] args) {
// create a HashMap
HashMap<Integer, String> languages = new HashMap<>();
languages.put(1, "Java");
languages.put(2, "Python");
languages.put(3, "JavaScript");
System.out.println("HashMap: " + languages);
// iterate through keys only
System.out.print("Keys: ");
for (Integer key : languages.keySet()) {
System.out.print(key);
System.out.print(", ");
}
// iterate through values only
System.out.print("\nValues: ");
for (String value : languages.values()) {
System.out.print(value);
System.out.print(", ");
}
// iterate through key/value entries
System.out.print("\nEntries: ");
for (Entry<Integer, String> entry : languages.entrySet()) {
System.out.print(entry);
System.out.print(", ");
}
}
}
Keluaran
HashMap: {1=Java, 2=Python, 3=JavaScript} Keys: 1, 2, 3, Values: Java, Python, JavaScript, Entries: 1=Java, 2=Python, 3=JavaScript,
Perhatikan bahwa kami telah menggunakan Map.Entry
dalam contoh di atas. Ini adalah kelas bersarang dari Map
antarmuka yang mengembalikan tampilan (elemen) peta.
Pertama-tama kita perlu mengimpor java.util.Map.Entry
paket untuk menggunakan kelas ini.
Kelas bersarang ini mengembalikan tampilan (elemen) peta.
Di Java, kita juga bisa membuat hashmap dari peta lain. Misalnya,
import java.util.HashMap;
import java.util.TreeMap;
class Main {
public static void main(String[] args) {
// create a treemap
TreeMap<String, Integer> evenNumbers = new TreeMap<>();
evenNumbers.put("Two", 2);
evenNumbers.put("Four", 4);
System.out.println("TreeMap: " + evenNumbers);
// create hashmap from the treemap
HashMap<String, Integer> numbers = new HashMap<>(evenNumbers);
numbers.put("Three", 3);
System.out.println("HashMap: " + numbers);
}
}
Keluaran
TreeMap: {Four=4, Two=2} HashMap: {Two=2, Three=3, Four=4}
Pada contoh di atas, kita telah membuat TreeMap
bernama evenNumbers
. Perhatikan ekspresinya,
numbers = new HashMap<>(evenNumbers)
Di sini, kami membuat HashMap
nomor bernama menggunakan TreeMap
. Untuk mempelajari lebih lanjut tentang peta pohon, kunjungi Java TreeMap.
Catatan :Saat membuat peta hash, kami dapat menyertakan parameter opsional:kapasitas dan faktor beban . Misalnya,
HashMap<K, V> numbers = new HashMap<>(8, 0.6f);
Di sini,
Jika parameter opsional tidak digunakan, maka default kapasitas akan menjadi 16 dan faktor muat default default akan menjadi 0,75 .
java
Antarmuka Deque Java Dalam tutorial ini, kita akan belajar tentang antarmuka Deque, cara menggunakannya, dan metodenya. Deque antarmuka kerangka koleksi Java menyediakan fungsionalitas antrian berujung ganda. Ini memperluas Queue antarmuka. Kerja Deque Dalam antrian biasa, elemen ditambahkan dar
Java HashMap Dalam tutorial ini, kita akan belajar tentang kelas Java HashMap dan berbagai operasinya dengan bantuan contoh. HashMap kelas kerangka koleksi Java menyediakan fungsionalitas struktur data tabel hash. Ini menyimpan elemen di kunci/nilai berpasangan. Di sini, kunci adalah pengidentifik
Java WeakHashMap Dalam tutorial ini, kita akan belajar tentang Java WeakHashMap dan operasinya dengan bantuan contoh. Kita juga akan belajar tentang perbedaan antara WeakHashMap dan HashMap WeakHashMap kelas kerangka koleksi Java menyediakan fitur struktur data tabel hash.. Ini mengimplementasika
Apa itu Hashmap di Java? HashMap pada dasarnya menunjuk kunci unik ke nilai corresponding yang sesuai yang dapat diambil pada titik tertentu. Fitur Java Hashmap a) Nilai dapat disimpan dalam peta dengan membentuk nilai kunci pasangan. Nilai dapat diambil menggunakan kunci dengan meneruskannya k