Sobes.tech
Junior — Middle

Čime se razlikuje ponašanje i osobine HashMap i LinkedHashMap u Javi?

sobes.tech АИ

Одговор од АИ

HashMap i LinkedHashMap u Javi se razlikuju na sledeći način:

  • HashMap čuva parove ključ-vrednost bez garancije reda. Red elemenata može da se menja prilikom dodavanja ili brisanja.

  • LinkedHashMap proširuje HashMap i čuva red umetanja elemenata. To znači da će prilikom iteracije elementi biti vraćeni u redosledu u kojem su dodati.

Karakteristike:

  • LinkedHashMap je malo sporiji zbog podrške za povezanu listu za red.
  • LinkedHashMap se može koristiti za implementaciju keš memorija sa brisanjem po redosledu pristupa.

Primer:

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

Izlaz:

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

Ako je redosled elemenata važan, treba koristiti LinkedHashMap.