Sobes.tech
Junior — Middle

Kāds kritērijs tiek izmantots elementu kārtošanai, ja kolekcijā tiek izsaukta entrySet() metode?

sobes.tech AI

Atbilde no AI

entrySet() metode atgriež objekta kopu ar pāriem (Map.Entry) no kolekcijas Map. Pašā entrySet() garantēt kārtību elementiem tas nedara.

Kārtošanas kritērijs ir atkarīgs no konkrētās Map implementācijas:

  • HashMap gadījumā, elementu kārtība nav noteikta (nav sakārtota).
  • LinkedHashMap gadījumā, elementi ir sakārtoti pēc ievietošanas secības.
  • TreeMap gadījumā, elementi ir sakārtoti pēc atslēgas, saskaņā ar dabisko kārtību vai nodrošināto salīdzinātāju.

Tādēļ, ja izsauc entrySet() uz TreeMap, elementi būs sakārtoti pēc atslēgas. Citās implementācijās kārta var būt nejauša vai saglabāta pēc ievietošanas.

Piemērs:

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