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

Java LinkedHashMap

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 untuk menyimpan entrinya dalam tabel hash. Ini secara internal memelihara daftar tertaut ganda di antara semua entrinya untuk mengurutkan entrinya.


Membuat LinkedHashMap

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.


Membuat LinkedHashMap dari Peta Lain

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}

Metode LinkedHashMap

LinkedHashMap class menyediakan metode yang memungkinkan kita melakukan berbagai operasi pada peta.


Sisipkan Elemen ke LinkedHashMap

Misalnya,


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}

Mengakses Elemen LinkedHashMap

1. Menggunakan entrySet(), keySet() dan values()

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

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

Menghapus Elemen LinkedHashMap

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

        // 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 LinkedHashMap Lainnya

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

LinkedHashMap Vs. HashMap

Keduanya LinkedHashMap dan HashMap mengimplementasikan Map antarmuka. Namun, ada beberapa perbedaan di antara mereka.


java

  1. Operator Jawa
  2. Komentar Jawa
  3. Java untuk setiap Loop
  4. String Jawa
  5. Antarmuka Jawa
  6. Kelas Anonim Java
  7. Java mencoba-dengan-sumber daya
  8. Anotasi Jawa
  9. Pernyataan Jawa
  10. Vektor Jawa