Junior — Middle
Milyen kritérium alapján rendezik az elemeket, ha a collection-ban az entrySet() metódust hívjuk meg?
sobes.tech MI
Válasz az MI-től
Az entrySet() metódus a Map gyűjteményből kulcs-érték párok (Map.Entry) halmazát adja vissza. Önmagában az entrySet() nem garantálja az elemek rendezését.
A rendezési kritérium a Map konkrét megvalósításától függ:
- A
HashMapesetén az elemek sorrendje nem meghatározott (nem rendezett). - A
LinkedHashMapesetén az elemek a beszúrás sorrendjében vannak rendezve. - A
TreeMapesetén az elemek a kulcs szerint vannak rendezve, a kulcsok természetes sorrendje vagy a megadott összehasonlító szerint.
Ezért, ha entrySet()-et hívsz egy TreeMap-en, az elemek kulcs szerint lesznek rendezve. Más megvalósításoknál a sorrend lehet véletlenszerű vagy a beszúrás szerint megőrzött.
Példa:
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());
}
// Kimenet:
// a=1
// b=2