Middle
167
Γιατί η συλλογή Map καταλαμβάνει μια μοναδική θέση στην ιεραρχία των συλλογών;
Απάντηση από AI
sobes.tech AI
Το Map δεν αποτελεί συλλογή με την παραδοσιακή έννοια. Το Collection στη Java αντιπροσωπεύει μια ομάδα αντικειμένων (στοιχείων). Ωστόσο, το Map αποθηκεύει ζεύγη "κλειδί-τιμή", όπου κάθε κλειδί είναι μοναδικό. Αυτό το διαφοροποιεί από τις διεπαφές που κληρονομούν από το Collection (όπως List, Set, Queue), οι οποίες εργάζονται με μεμονωμένα στοιχεία.
Η ιεραρχία έχει ως εξής:
IterableCollectionListSetQueue
Map
Το Map έχει τις δικές του μοναδικές μεθόδους για εργασία με ζεύγη:
put(K key, V value)get(Object key)remove(Object key)containsKey(Object key)containsValue(Object value)keySet()- επιστρέφει έναSetκλειδιώνvalues()- επιστρέφει μιαCollectionτιμώνentrySet()- επιστρέφει έναSetζευγών "κλειδί-τιμή" (Map.Entry)
Παράδειγμα χρήσης:
// Δημιουργία HashMap
Map<String, Integer> studentScores = new HashMap<>();
// Προσθήκη στοιχείων
studentScores.put("Alice", 95);
studentScores.put("Bob", 88);
studentScores.put("Charlie", 95); // Η τιμή μπορεί να επαναληφθεί, το κλειδί όχι
// Λήψη τιμής με κλειδί
int score = studentScores.get("Alice"); // 95
Έτσι, το Map βρίσκεται παράλληλα με το Collection στην ιεραρχία Iterable, επειδή οργανώνει τα δεδομένα με διαφορετικό τρόπο, βασιζόμενο σε ζεύγη "κλειδί-τιμή", και όχι σε μια ομάδα μεμονωμένων στοιχείων.