Sobes.tech
Junior — Middle

El tudnád magyarázni, mi az a LinkedHashMap Java-ban, és milyen jellemzői vannak?

sobes.tech MI

Válasz az MI-től

A Java-ban a LinkedHashMap egy olyan Map-implementáció, amely megőrzi az elemek beszúrási sorrendjét.

A LinkedHashMap jellemzői:

  • Az elemek kulcs-érték párok formájában tárolódnak, mint a HashMap esetében.
  • Ellentétben a HashMap-fel, a LinkedHashMap támogat egy összekapcsolt listát az elemekről, ami lehetővé teszi az elemek iterálását a hozzáadás sorrendjében.
  • Lehetővé teszi a hozzáférési sorrend (access order) használatát, ami hasznos az LRU (legkevésbé használt elem) politikával működő cache-ek megvalósításához.
  • Az elérés, beszúrás és törlés időtartama kb. O(1), mint a HashMap esetében.

Használati példa:

import java.util.LinkedHashMap;

public class Example {
    public static void main(String[] args) {
        LinkedHashMap<Integer, String> map = new LinkedHashMap<>();
        map.put(1, "egy");
        map.put(2, "kettő");
        map.put(3, "három");

        // Iterálás beszúrási sorrendben
        for (Integer key : map.keySet()) {
            System.out.println(key + " -> " + map.get(key));
        }
    }
}

A kimenet a 1, 2, 3 sorrend lesz, ami nem garantált egy normál HashMap esetében.