Sobes.tech
Junior — Middle

Wat is het verschil in gedrag en kenmerken tussen HashMap en LinkedHashMap in Java?

sobes.tech AI

Antwoord van AI

HashMap en LinkedHashMap in Java verschillen als volgt:

  • HashMap slaat sleutel-waardeparen op zonder garantie voor volgorde. De volgorde van de elementen kan veranderen bij toevoegen of verwijderen.

  • LinkedHashMap breidt HashMap uit en behoudt de invoer volgorde van de elementen. Dit betekent dat bij iteratie de elementen worden geretourneerd in de volgorde waarin ze zijn toegevoegd.

Kenmerken:

  • LinkedHashMap is iets langzamer vanwege ondersteuning voor een gekoppelde lijst voor de volgorde.
  • LinkedHashMap kan worden gebruikt voor het implementeren van caches met verwijdering op volgorde van toegang.

Voorbeeld:

Map<String, Integer> hashMap = new HashMap<>();
hashMap.put("one", 1);
hashMap.put("two", 2);
hashMap.put("three", 3);

Map<String, Integer> linkedHashMap = new LinkedHashMap<>();
linkedHashMap.put("one", 1);
linkedHashMap.put("two", 2);
linkedHashMap.put("three", 3);

System.out.println("HashMap: " + hashMap.keySet());
System.out.println("LinkedHashMap: " + linkedHashMap.keySet());

Uitvoer:

HashMap: [two, one, three]
LinkedHashMap: [one, two, three]

Dus, als de volgorde van de elementen belangrijk is, moet je LinkedHashMap gebruiken.