Sobes.tech
Junior — Middle

Welke criteria worden gebruikt om de elementen te sorteren als de methode entrySet() in de collectie wordt aangeroepen?

sobes.tech AI

Antwoord van AI

De methode entrySet() geeft een verzameling van sleutel-waardeparen (Map.Entry) uit de collectie Map. Op zichzelf garandeert entrySet() geen sortering van de elementen.

Het sorteerkriterium hangt af van de specifieke implementatie van Map:

  • In HashMap is de volgorde van de elementen niet gedefinieerd (niet gesorteerd).
  • In LinkedHashMap zijn de elementen gesorteerd op de volgorde van invoer.
  • In TreeMap zijn de elementen gesorteerd op de sleutel volgens de natuurlijke volgorde van de sleutels of de meegeleverde comparator.

Dus, als je entrySet() aanroept op een TreeMap, zullen de elementen gesorteerd zijn op de sleutel. In andere implementaties kan de volgorde willekeurig zijn of behouden worden door invoer.

Voorbeeld:

Map<String, Integer> map = new TreeMap<>();
map.put("b", 2);
map.put("a", 1);
for (Map.Entry<String, Integer> entry : map.entrySet()) {
    System.out.println(entry.getKey() + "=" + entry.getValue());
}
// Uitvoer:
// a=1
// b=2