Sobes.tech
Junior — Middle

Koji kriterijum se koristi za sortiranje elemenata ako se pozove metoda entrySet() u kolekciji?

sobes.tech АИ

Одговор од АИ

Метод entrySet() враћа скуп пар кључ-вредност (Map.Entry) из колекције Map. Сам по себи, entrySet() не гарантује сортирање елемената.

Критеријум сортирања зависи од конкретне имплементације Map:

  • У HashMap, редослед елемената није дефинисан (није сортирано).
  • У LinkedHashMap, елементи су сортирани по реду уметања.
  • У TreeMap, елементи су сортирани по кључу у складу са природним редом кључева или пруженим компаратором.

Стога, ако позовете entrySet() на TreeMap, елементи ће бити сортирани по кључу. У другим имплементацијама, редослед може бити произвољан или сачуван по уметању.

Пример:

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());
}
// Излаз:
// a=1
// b=2