Sobes.tech
Middle
167

Γιατί η συλλογή Map καταλαμβάνει μια μοναδική θέση στην ιεραρχία των συλλογών;

Απάντηση από AI

sobes.tech AI

Το Map δεν αποτελεί συλλογή με την παραδοσιακή έννοια. Το Collection στη Java αντιπροσωπεύει μια ομάδα αντικειμένων (στοιχείων). Ωστόσο, το Map αποθηκεύει ζεύγη "κλειδί-τιμή", όπου κάθε κλειδί είναι μοναδικό. Αυτό το διαφοροποιεί από τις διεπαφές που κληρονομούν από το Collection (όπως List, Set, Queue), οι οποίες εργάζονται με μεμονωμένα στοιχεία.

Η ιεραρχία έχει ως εξής:

  • Iterable
    • Collection
      • List
      • Set
      • Queue
    • 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, επειδή οργανώνει τα δεδομένα με διαφορετικό τρόπο, βασιζόμενο σε ζεύγη "κλειδί-τιμή", και όχι σε μια ομάδα μεμονωμένων στοιχείων.