Junior — Middle
Ποιο κριτήριο χρησιμοποιείται για την ταξινόμηση των στοιχείων αν καλείται η μέθοδος entrySet() στη συλλογή;
sobes.tech AI
Απάντηση από AI
Η μέθοδος 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