Sobes.tech
Junior — Middle

Aké kritérium sa používa na zoradenie prvkov, ak sa volá metóda entrySet() v kolekcii?

sobes.tech AI

Odpoveď od AI

Metóda entrySet() vracia množinu dvojíc kľúč-hodnota (Map.Entry) z kolekcie Map. Sama o sebe entrySet() nezaručuje zoradenie prvkov.

Kritérium zoradenia závisí od konkrétnej implementácie Map:

  • V HashMap nie je poradie prvkov definované (nie je zoradené).
  • V LinkedHashMap sú prvky zoradené podľa poradia vloženia.
  • V TreeMap sú prvky zoradené podľa kľúča podľa prirodzeného poradia kľúčov alebo poskytnutého porovnávača.

Ak teda zavoláte entrySet() na TreeMap, prvky budú zoradené podľa kľúča. V iných implementáciách môže byť poradie ľubovoľné alebo zachované podľa vloženia.

Príklad:

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());
}
// Výstup:
// a=1
// b=2