java
Dalam tutorial ini, kita akan belajar tentang kelas Java LinkedHashMap dan operasinya dengan bantuan contoh.
LinkedHashMap
kelas kerangka koleksi Java menyediakan tabel hash dan implementasi daftar tertaut dari antarmuka Peta.
LinkedHashMap
interface memperluas kelas HashMap untuk menyimpan entrinya dalam tabel hash. Ini secara internal memelihara daftar tertaut ganda di antara semua entrinya untuk mengurutkan entrinya.
Untuk membuat hashmap tertaut, kita harus mengimpor java.util.LinkedHashMap
paket dulu. Setelah kita mengimpor paket, berikut adalah bagaimana kita dapat membuat peta hash tertaut di Java.
// LinkedHashMap with initial capacity 8 and load factor 0.6
LinkedHashMap<Key, Value> numbers = new LinkedHashMap<>(8, 0.6f);
Dalam kode di atas, kami telah membuat peta hash tertaut bernama angka .
Di sini,
Perhatikan bagian new LinkedHashMap<>(8, 0.6)
. Di sini, parameter pertama adalah kapasitas dan parameter kedua adalah loadFactor .
Kapasitas default dan faktor beban
Dimungkinkan untuk membuat peta hash tertaut tanpa menentukan kapasitas dan faktor bebannya. Misalnya,
//LinkedHashMap with default capacity and load factor
LinkedHashMap<Key, Value> numbers1 = new LinkedHashMap<>();
Secara default,
Catatan :LinkedHashMap
class juga memungkinkan kita untuk menentukan urutan entrinya. Misalnya
// LinkedHashMap with specified order
LinkedHashMap<Key, Value> numbers2 = new LinkedHashMap<>(capacity, loadFactor, accessOrder);
Di sini, accessOrder adalah nilai boolean. Nilai defaultnya adalah false
. Dalam hal ini, entri dalam peta hash tertaut diurutkan berdasarkan urutan penyisipannya.
Namun, jika true
diteruskan sebagai accessOrder , entri dalam hashmap yang ditautkan akan diurutkan dari yang paling jarang diakses hingga yang paling baru diakses.
Berikut adalah cara membuat peta hash tertaut yang berisi semua elemen peta lainnya.
import java.util.LinkedHashMap;
class Main {
public static void main(String[] args) {
// Creating a LinkedHashMap of even numbers
LinkedHashMap<String, Integer> evenNumbers = new LinkedHashMap<>();
evenNumbers.put("Two", 2);
evenNumbers.put("Four", 4);
System.out.println("LinkedHashMap1: " + evenNumbers);
// Creating a LinkedHashMap from other LinkedHashMap
LinkedHashMap<String, Integer> numbers = new LinkedHashMap<>(evenNumbers);
numbers.put("Three", 3);
System.out.println("LinkedHashMap2: " + numbers);
}
}
Keluaran
LinkedHashMap1: {Two=2, Four=4} LinkedHashMap2: {Two=2, Four=4, Three=3}
LinkedHashMap
class menyediakan metode yang memungkinkan kita melakukan berbagai operasi pada peta.
put()
- menyisipkan pemetaan kunci/nilai yang ditentukan ke petaputAll()
- menyisipkan semua entri dari peta yang ditentukan ke peta iniputIfAbsent()
- menyisipkan pemetaan kunci/nilai yang ditentukan ke peta jika kunci yang ditentukan tidak ada di petaMisalnya,
import java.util.LinkedHashMap;
class Main {
public static void main(String[] args) {
// Creating LinkedHashMap of even numbers
LinkedHashMap<String, Integer> evenNumbers = new LinkedHashMap<>();
// Using put()
evenNumbers.put("Two", 2);
evenNumbers.put("Four", 4);
System.out.println("Original LinkedHashMap: " + evenNumbers);
// Using putIfAbsent()
evenNumbers.putIfAbsent("Six", 6);
System.out.println("Updated LinkedHashMap(): " + evenNumbers);
//Creating LinkedHashMap of numbers
LinkedHashMap<String, Integer> numbers = new LinkedHashMap<>();
numbers.put("One", 1);
// Using putAll()
numbers.putAll(evenNumbers);
System.out.println("New LinkedHashMap: " + numbers);
}
}
Keluaran
Original LinkedHashMap: {Two=2, Four=4} Updated LinkedHashMap: {Two=2, Four=4, Six=6} New LinkedHashMap: {One=1, Two=2, Four=4, Six=6}
1. Menggunakan entrySet(), keySet() dan values()
entrySet()
- mengembalikan satu set semua pemetaan kunci/nilai petakeySet()
- mengembalikan satu set semua kunci petavalues()
- mengembalikan satu set semua nilai petaMisalnya,
import java.util.LinkedHashMap;
class Main {
public static void main(String[] args) {
LinkedHashMap<String, Integer> numbers = new LinkedHashMap<>();
numbers.put("One", 1);
numbers.put("Two", 2);
numbers.put("Three", 3);
System.out.println("LinkedHashMap: " + numbers);
// Using entrySet()
System.out.println("Key/Value mappings: " + numbers.entrySet());
// Using keySet()
System.out.println("Keys: " + numbers.keySet());
// Using values()
System.out.println("Values: " + numbers.values());
}
}
Keluaran
LinkedHashMap: {One=1, Two=2, Three=3} Key/Value mappings: [One=1, Two=2, Three=3] Keys: [One, Two, Three] Values: [1, 2, 3]
2. Menggunakan get() dan getOrDefault()
get()
- Mengembalikan nilai yang terkait dengan kunci yang ditentukan. Jika kunci tidak ditemukan, ia mengembalikan null
.getOrDefault()
- Mengembalikan nilai yang terkait dengan kunci yang ditentukan. Jika kunci tidak ditemukan, ia mengembalikan nilai default yang ditentukan.Misalnya,
import java.util.LinkedHashMap;
class Main {
public static void main(String[] args) {
LinkedHashMap<String, Integer> numbers = new LinkedHashMap<>();
numbers.put("One", 1);
numbers.put("Two", 2);
numbers.put("Three", 3);
System.out.println("LinkedHashMap: " + numbers);
// Using get()
int value1 = numbers.get("Three");
System.out.println("Returned Number: " + value1);
// Using getOrDefault()
int value2 = numbers.getOrDefault("Five", 5);
System.out.println("Returned Number: " + value2);
}
}
Keluaran
LinkedHashMap: {One=1, Two=2, Three=3} Returned Number: 3 Returned Number: 5
remove(key)
- mengembalikan dan menghapus entri yang terkait dengan kunci yang ditentukan dari petaremove(key, value)
- menghapus entri dari peta hanya jika kunci yang ditentukan dipetakan menjadi nilai yang ditentukan dan mengembalikan nilai booleanMisalnya,
import java.util.LinkedHashMap;
class Main {
public static void main(String[] args) {
LinkedHashMap<String, Integer> numbers = new LinkedHashMap<>();
numbers.put("One", 1);
numbers.put("Two", 2);
numbers.put("Three", 3);
System.out.println("LinkedHashMap: " + numbers);
// remove method with single parameter
int value = numbers.remove("Two");
System.out.println("Removed value: " + value);
// remove method with two parameters
boolean result = numbers.remove("Three", 3);
System.out.println("Is the entry Three removed? " + result);
System.out.println("Updated LinkedHashMap: " + numbers);
}
}
Keluaran
LinkedHashMap: {One=1, Two=2, Three=3} Removed value: 2 Is the entry {Three=3} removed? True Updated LinkedHashMap: {One=1}
Metode | Deskripsi |
---|---|
clear() | menghapus semua entri dari peta |
containsKey() | memeriksa apakah peta berisi kunci yang ditentukan dan mengembalikan nilai boolean |
containsValue() | memeriksa apakah peta berisi nilai yang ditentukan dan mengembalikan nilai boolean |
size() | mengembalikan ukuran peta |
isEmpty() | memeriksa apakah peta kosong dan mengembalikan nilai boolean |
Keduanya LinkedHashMap
dan HashMap
mengimplementasikan Map
antarmuka. Namun, ada beberapa perbedaan di antara mereka.
LinkedHashMap
memelihara daftar tertaut ganda secara internal. Karena itu, ia mempertahankan urutan penyisipan elemen-elemennya.LinkedHashMap
kelas membutuhkan lebih banyak penyimpanan daripada HashMap
. Ini karena LinkedHashMap
memelihara daftar tertaut secara internal.LinkedHashMap
lebih lambat dari HashMap
.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 LinkedList Dalam tutorial ini, kita akan belajar tentang Java LinkedList secara detail dengan bantuan contoh. LinkedList kelas kerangka koleksi Java menyediakan fungsionalitas struktur data daftar tertaut (daftar tertaut ganda). Setiap elemen dalam daftar tertaut dikenal sebagai simpul . In
Java ArrayDeque Dalam tutorial ini, kita akan belajar tentang kelas ArrayDeque dan metodenya dengan bantuan contoh. Selain itu, kita akan belajar menggunakan deque array untuk mengimplementasikan tumpukan. Di Java, kita bisa menggunakan ArrayDeque class untuk mengimplementasikan struktur data antr
Java LinkedHashMap Dalam tutorial ini, kita akan belajar tentang kelas Java LinkedHashMap dan operasinya dengan bantuan contoh. LinkedHashMap kelas kerangka koleksi Java menyediakan tabel hash dan implementasi daftar tertaut dari antarmuka Peta. LinkedHashMap interface memperluas kelas HashMap un