Σε αυτό το σεμινάριο, θα μάθουμε για τη διασύνδεση Java Map και τις μεθόδους της.
Η Map
διεπαφή του πλαισίου συλλογών Java παρέχει τη λειτουργικότητα της δομής δεδομένων χάρτη.
Εργασία του χάρτη
Στην Java, τα στοιχεία Map
αποθηκεύονται σε ζεύγη κλειδιών / τιμών . Τα κλειδιά είναι μοναδικές τιμές που σχετίζονται με μεμονωμένες τιμές .
Ένας χάρτης δεν μπορεί να περιέχει διπλά κλειδιά. Και, κάθε κλειδί σχετίζεται με μία μόνο τιμή.
Μπορούμε να έχουμε πρόσβαση και να τροποποιούμε τιμές χρησιμοποιώντας τα κλειδιά που σχετίζονται με αυτές.
Στο παραπάνω διάγραμμα, έχουμε τιμές: Ηνωμένες Πολιτείες, Βραζιλία και Ισπανία. Και έχουμε αντίστοιχα κλειδιά: εμάς, br και es.
Τώρα, μπορούμε να έχουμε πρόσβαση σε αυτές τις τιμές χρησιμοποιώντας τα αντίστοιχα κλειδιά τους.
Σημείωση: Η Map
διεπαφή διατηρεί 3 διαφορετικά σύνολα:
- το σύνολο των κλειδιών
- το σύνολο τιμών
- το σύνολο συσχετισμών κλειδιού / τιμής (χαρτογράφηση).
Ως εκ τούτου μπορούμε να έχουμε πρόσβαση σε κλειδιά, τιμές και συσχετίσεις ξεχωριστά.
Μαθήματα που εφαρμόζουν το Map
Δεδομένου ότι Map
είναι μια διεπαφή, δεν μπορούμε να δημιουργήσουμε αντικείμενα από αυτήν.
Για να χρησιμοποιήσουμε τις λειτουργίες της Map
διεπαφής, μπορούμε να χρησιμοποιήσουμε αυτές τις τάξεις:
- HashMap
- EnumMap
- LinkedHashMap
- WeakHashMap
- Χάρτης δέντρου
Αυτές οι τάξεις ορίζονται στο πλαίσιο συλλογών και εφαρμόζουν τη Map
διεπαφή.
![](https://cdn.wiki-base.com/4741423/java_map_interface_2.png.webp)
Διεπαφές που επεκτείνουν το χάρτη
Η Map
διεπαφή επεκτείνεται επίσης από αυτά τα υποσυνδέσμια:
- Ταξινομημένος χάρτης
- Χάρτης πλοήγησης
- Ταυτόχρονος χάρτης
![](https://cdn.wiki-base.com/4741423/java_map_interface_3.png.webp)
Πώς να χρησιμοποιήσετε το χάρτη;
Στην Java, πρέπει να εισαγάγουμε το java.util.Map
πακέτο για να το χρησιμοποιήσουμε Map
. Μόλις εισαγάγουμε το πακέτο, δείτε πώς μπορούμε να δημιουργήσουμε έναν χάρτη.
// Map implementation using HashMap Map numbers = new HashMap();
Στον παραπάνω κώδικα, έχουμε δημιουργήσει ένα Map
όνομα με αριθμούς. Χρησιμοποιήσαμε την HashMap
τάξη για να εφαρμόσουμε τη Map
διεπαφή.
Εδώ,
- Κλειδί - ένα μοναδικό αναγνωριστικό που χρησιμοποιείται για τη συσχέτιση κάθε στοιχείου (τιμή) σε έναν χάρτη
- Τιμή - στοιχεία που σχετίζονται με κλειδιά σε έναν χάρτη
Μέθοδοι χάρτη
Η Map
διεπαφή περιλαμβάνει όλες τις μεθόδους της Collection
διεπαφής. Είναι επειδή Collection
είναι ένα σούπερ διασύνδεση του Map
.
Εκτός από τις διαθέσιμες μεθόδους στη Collection
διεπαφή, η Map
διεπαφή περιλαμβάνει επίσης τις ακόλουθες μεθόδους:
- put (K, V) - Εισάγει τη σύνδεση ενός κλειδιού K και μιας τιμής V στο χάρτη. Εάν το κλειδί υπάρχει ήδη, η νέα τιμή αντικαθιστά την παλιά τιμή.
- putAll () - Εισάγει όλες τις καταχωρήσεις από τον καθορισμένο χάρτη σε αυτόν τον χάρτη.
- putIfAbsent (K, V) - Εισάγει τη συσχέτιση εάν το κλειδί K δεν έχει ήδη συσχετιστεί με την τιμή V.
- get (K) - Επιστρέφει την τιμή που σχετίζεται με το καθορισμένο κλειδί K. Εάν το κλειδί δεν βρεθεί, επιστρέφει
null
. - getOrDefault (K, defaultValue) - Επιστρέφει την τιμή που σχετίζεται με το καθορισμένο κλειδί K. Εάν το κλειδί δεν βρεθεί, επιστρέφει την προεπιλεγμένη τιμή.
- περιέχειKey (K) - Ελέγχει εάν το καθορισμένο κλειδί K υπάρχει στο χάρτη ή όχι.
- περιέχειValue (V) - Ελέγχει εάν η καθορισμένη τιμή V υπάρχει στο χάρτη ή όχι.
- Αντικατάσταση (K, V) - Αντικαταστήστε την τιμή του κλειδιού K με τη νέα καθορισμένη τιμή V.
- Αντικατάσταση (K, oldValue, newValue) - Αντικαθιστά την τιμή του κλειδιού K με τη νέα τιμή newValue μόνο εάν το κλειδί K σχετίζεται με την τιμή oldValue.
- remove (K) - Καταργεί την καταχώριση από το χάρτη που αντιπροσωπεύεται από το κλειδί K.
- remove (K, V) - Καταργεί την καταχώριση από το χάρτη που έχει το κλειδί K που σχετίζεται με την τιμή V.
- keySet () - Επιστρέφει ένα σύνολο όλων των κλειδιών που υπάρχουν σε έναν χάρτη.
- τιμές () - Επιστρέφει ένα σύνολο όλων των τιμών που υπάρχουν σε έναν χάρτη.
- entrySet () - Επιστρέφει ένα σύνολο όλων των χαρτογράφησης κλειδιών / τιμών που υπάρχουν σε έναν χάρτη.
Υλοποίηση της διασύνδεσης χαρτών
1. Εφαρμογή κλάσης HashMap
import java.util.Map; import java.util.HashMap; class Main ( public static void main(String() args) ( // Creating a map using the HashMap Map numbers = new HashMap(); // Insert elements to the map numbers.put("One", 1); numbers.put("Two", 2); System.out.println("Map: " + numbers); // Access keys of the map System.out.println("Keys: " + numbers.keySet()); // Access values of the map System.out.println("Values: " + numbers.values()); // Access entries of the map System.out.println("Entries: " + numbers.entrySet()); // Remove Elements from the map int value = numbers.remove("Two"); System.out.println("Removed Value: " + value); ) )
Παραγωγή
Χάρτης: (Ένα = 1, Δύο = 2) Πλήκτρα: (Ένα, Δύο) Τιμές: (1, 2) Καταχωρήσεις: (Ένα = 1, Δύο = 2) Αφαιρούμενη τιμή: 2
Για να μάθετε περισσότερα HashMap
, επισκεφθείτε το Java HashMap.
2. Εφαρμογή κλάσης TreeMap
import java.util.Map; import java.util.TreeMap; class Main ( public static void main(String() args) ( // Creating Map using TreeMap Map values = new TreeMap(); // Insert elements to map values.put("Second", 2); values.put("First", 1); System.out.println("Map using TreeMap: " + values); // Replacing the values values.replace("First", 11); values.replace("Second", 22); System.out.println("New Map: " + values); // Remove elements from the map int removedValue = values.remove("First"); System.out.println("Removed Value: " + removedValue); ) )
Παραγωγή
Χάρτης χρησιμοποιώντας TreeMap: (Πρώτο = 1, Δεύτερο = 2) Νέος χάρτης: (Πρώτος = 11, Δεύτερος = 22) Αφαιρούμενη τιμή: 11
Για να μάθετε περισσότερα TreeMap
, επισκεφθείτε το Java TreeMap.