Βίντεο: 14.10 Map Interface in Java Collection Framework 2024
Οι πίνακες και οι εξειδικευμένες λίστες καθιστούν δυνατή την εκτέλεση μιας εκπληκτικής σειράς εργασιών με την Java. Ωστόσο, υπάρχουν περιπτώσεις όπου μια εφαρμογή Java χρειάζεται κάτι που είναι περισσότερο παρόμοιο με μια βάση δεδομένων, χωρίς να έχει όντως όλες τις αποσκευές της βάσης δεδομένων (όπως η αγορά μιας ξεχωριστής εφαρμογής).
Για παράδειγμα, ίσως θελήσετε να βρείτε μια συγκεκριμένη τιμή σε μια λίστα χωρίς να χρειάζεται να εξετάσετε κάθε στοιχείο ξεχωριστά. Οι ακόλουθες ενότητες περιγράφουν ένα ειδικό είδος συλλογής που ονομάζεται Χάρτης. Ο Χάρτης είναι ένα εξαιρετικά χρήσιμο είδος δοχείου αποθήκευσης που διευκολύνει πολλές εργασίες.
Να θυμάστε πάντα ότι κάθε φορά που προσθέτετε λειτουργικότητα σε μια κλάση, προκαλεί αύξηση του μεγέθους της τάξης. Επιπλέον, η τάξη λειτουργεί πιο αργά και μπορεί να γίνει πιο δύσκολο να κατανοηθεί. Εάν ένας πίνακας θα εξυπηρετήσει τον σκοπό της αίτησής σας, χρησιμοποιήστε έναν πίνακα. Χρησιμοποιήστε μόνο έναν Χάρτη όταν χρειάζεστε την εξειδικευμένη λειτουργία που παρέχει ένας Χάρτης.
Ο Χάρτης, όπως πολλές βασικές κλάσεις δοχείων Java, είναι στην πραγματικότητα μια διεπαφή. Ένας χάρτης περιγράφει μια τάξη που παρέχει ζεύγος κλειδιών και τιμών για την αποθήκευση πληροφοριών. Το πλήκτρο δίνει στα δεδομένα ένα μοναδικό όνομα. Δεν υπάρχουν δύο καταχωρήσεις που μπορούν να έχουν το ίδιο κλειδί, το οποίο καθιστά δυνατή την αναζήτηση του κλειδιού και πάντα την επιστροφή μιας μοναδικής τιμής. Οποιοσδήποτε αριθμός πλήκτρων μπορεί να έχει την ίδια συσχετισμένη τιμή.
Όπως και με οποιαδήποτε διεπαφή, πρέπει να δημιουργήσετε μια εφαρμογή για να μπορέσετε να τη χρησιμοποιήσετε. Ο Χάρτης είναι τόσο απίστευτα χρήσιμος ώστε η Java να διαθέτει πλήθος κατηγοριών εφαρμογής που σχετίζονται με αυτήν. Ακολουθεί η λίστα των κλάσεων που μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε έναν Χάρτη (και πάλι, δεν χρειάζεται να ανησυχείτε για τις ιδιαιτερότητες αυτών των τάξεων για τώρα - θα αρχίσετε να κατανοείτε αυτές τις διαφορές καθώς δημιουργείτε περισσότερες εφαρμογές Java):
Ταυτότητα
ΤαυτότηταHashMap
LinkedHashMap
PrinterStateReasons -
AbstractMap
Χαρακτηριστικά
AuthProvider
ConcurrentHashMap
ConcurrentSkipListMap
EnumMap
HashMap
Ιδιότητες
Παροχέας
RenderingHints
SimpleBindings
TabularDataSupport
TreeMap
UIDefaults
WeakHashMap
Το σημαντικό που πρέπει να θυμάστε είναι ότι όλες οι κατηγορίες Χάρτη βασίζονται σε ένα μοναδικό κλειδί για τον προσδιορισμό των δεδομένων και μια τιμή για τη συγκράτηση των δεδομένων.