CodeGym /Java Blog /Acak /LinkedHashMap di Java
John Squirrels
Level 41
San Francisco

LinkedHashMap di Java

Dipublikasikan di grup Acak

Apa itu LinkedHashMap di Jawa?

Kelas LinkedHashMap dari kerangka Koleksi adalah implementasi Hashtable dan LinkedList dari antarmuka Peta . Ia menyimpan entri-entrinya dalam Hashtable dan menggunakan daftar tertaut ganda secara internal untuk mempertahankan urutan penyisipan. LinkedList ini mendefinisikan urutan penyisipan yang merupakan urutan kunci dimasukkan ke dalam Map . HashMap memberikan manfaat penyisipan , pencarian , dan penghapusan cepat tetapi di LinkedHashMap penerapan LinkedList juga mempertahankan urutan penyisipan. LinkedHashMap di Java - 1

Fitur LinkedHashMap

  1. Ini berisi nilai berdasarkan kunci.
  2. Ini mengandung elemen unik.
  3. Ini mungkin memiliki satu kunci nol dan beberapa nilai nol.
  4. Itu tidak disinkronkan.
  5. Ini mempertahankan urutan penyisipan yang menyebabkan iterasi menjadi lebih mahal.

Faktor Kinerja

Kinerja LinkedHashMap terutama bergantung pada dua faktor yang dijelaskan di bawah ini.

Kapasitas

Kapasitas berarti jumlah entri yang dapat disimpan. Kapasitas default adalah 16 jika tidak ada parameter yang disediakan. Faktor beban Faktor beban berarti setiap kali HashMap diisi dengan persentase tertentu yang disediakan sebagai parameter, HashMap baru dibuat dengan ukuran ganda, dan semua entri dipindahkan ke yang baru ini. Faktor beban default untuk HashMap adalah 0.75 . Hal ini juga dikenal sebagai rasio pengisian .

Deklarasi LinkedHashMap

Untuk membuat LinkedHashMap , pertama-tama kita perlu mengimpor paketnya, yaitu java.util.LinkedHashMap .
LinkedHashMap<Key, Value> lhm = new LinkedHashMap<>(12, 0.5f);
Di sini, Kunci adalah jenis kunci di peta. Nilai adalah jenis nilai yang dipetakan dalam peta. 12 adalah kapasitas yang berarti akan menyimpan 12 entri di peta. 0,5f adalah faktor beban yang berarti ketika 50% terisi maka akan membuat Peta baru dan memindahkan semua nilai ke peta baru ini.

Metode Umum LinkedHashMap

Berikut adalah daftar beberapa metode umum LinkedHashMap .
Metode Keterangan
jernih() Menghapus semua pemetaan di peta.
berisiNilai(Nilai objek) Mengembalikan nilai benar jika peta memetakan kunci ke nilai yang ditentukan.
entriSet() Mengembalikan tampilan Set dari pemetaan di peta.
dapatkan (kunci objek) Mengembalikan nilai terhadap kunci yang ditentukan atau null jika tidak ada kunci yang ditentukan.
set kunci() Mengembalikan tampilan Set tombol di peta.
nilai() Mengembalikan tampilan Koleksi dari nilai-nilai di peta.
getOrDefault(Kunci objek, V defaultValue) Mengembalikan nilai yang dikaitkan dengan kunci tertentu atau defaultValue jika tidak ada kunci yang dikaitkan.

Contoh LinkedHasMap

import java.util.LinkedHashMap;

class Main {
    public static void main(String[] args) {
        // Creating a LinkedHashMap of odd numbers
        LinkedHashMap<String, Integer> oddNumbers = new LinkedHashMap<>();
        // Using the put() method
        oddNumbers.put("One", 1);
        oddNumbers.put("Three", 3);
        System.out.println("LinkedHashMap1: " + oddNumbers);

        // Creating another LinkedHashMap
        LinkedHashMap<String, Integer> numbers = new LinkedHashMap<>();
        numbers.put("Two", 2);
        // Using putAll() method
        numbers.putAll(oddNumbers);
        System.out.println("LinkedHashMap2: " + numbers);

        // Using entrySet() method
        System.out.println("Key/Value mappings: " + numbers.entrySet());

        // Using keySet() method
        System.out.println("Keys: " + numbers.keySet());

        // Using values() method
        System.out.println("Values: " + numbers.values());

        // Using get() method
        int value1 = numbers.get("Three");
        System.out.println("Returned Number: " + value1);

        // Using getOrDefault() method
        int value2 = numbers.getOrDefault("Five", 5);
        System.out.println("Returned Number: " + value2);

        // Using remove() method
        int value = numbers.remove("Two");
        System.out.println("Removed value: " + value);

        // Using entrySet() method
        System.out.println("Key/Value mappings: " + numbers.entrySet());
    }
}

Keluaran

LinkedHashMap1: {Satu=1, Tiga=3} LinkedHashMap2: {Dua=2, Satu=1, Tiga=3} Pemetaan kunci/Nilai: [Dua=2, Satu=1, Tiga=3] Kunci: [Dua, Satu , Tiga] Nilai: [2, 1, 3] Nomor yang Dikembalikan: 3 Nomor yang Dikembalikan: 5 Nilai yang dihapus: 2 Pemetaan Kunci/Nilai: [Satu=1, Tiga=3]

LinkedHashMap vs HashMap

Mari kita lihat beberapa perbedaan di antara keduanya, sedangkan keduanya mengimplementasikan antarmuka Peta .
  1. LinkedHashMap mempertahankan urutan penyisipan saat mengimplementasikan daftar tertaut ganda secara internal.
  2. LinkedHashMap memerlukan lebih banyak penyimpanan karena mengimplementasikan LinkedList .
  3. Mengenai kinerja, LinkedHashMap lebih lambat dari HashMap .

Kesimpulan

Kami harap Anda memahami kelas LinkedHashMap di Java, berbagai metodenya, dan implementasinya. Jangan ragu untuk berlatih dan kembali kapan pun Anda membutuhkan bantuan lebih lanjut. Selamat belajar!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION