Σε αυτό το σεμινάριο, θα μάθουμε για τη διεπαφή Java NavigableMap και τις μεθόδους της με τη βοήθεια ενός παραδείγματος.
Η NavigableMap
διεπαφή του πλαισίου συλλογών Java παρέχει τις δυνατότητες πλοήγησης μεταξύ των καταχωρίσεων χάρτη.
Θεωρείται ως τύπος SortedMap.
Κλάση που εφαρμόζει το NavigableMap
Δεδομένου ότι NavigableMap
είναι μια διεπαφή, δεν μπορούμε να δημιουργήσουμε αντικείμενα από αυτήν.
Για να χρησιμοποιήσουμε τις λειτουργίες της NavigableMap
διεπαφής, πρέπει να χρησιμοποιήσουμε την TreeMap
κλάση που εφαρμόζει NavigableMap
.
Πώς να χρησιμοποιήσετε το NavigableMap;
Στην Java, πρέπει να εισαγάγουμε το java.util.NavigableMap
πακέτο για χρήση NavigableMap
. Μόλις εισαγάγουμε το πακέτο, δείτε πώς μπορούμε να δημιουργήσουμε έναν χάρτη πλοήγησης.
// NavigableMap implementation by TreeMap class NavigableMap numbers = new TreeMap();
Στον παραπάνω κώδικα, έχουμε δημιουργήσει έναν χάρτη πλοήγησης με όνομα αριθμούς της TreeMap
τάξης.
Εδώ,
- Κλειδί - ένα μοναδικό αναγνωριστικό που χρησιμοποιείται για τη συσχέτιση κάθε στοιχείου (τιμή) σε έναν χάρτη
- Τιμή - στοιχεία που σχετίζονται με κλειδιά σε έναν χάρτη
Μέθοδοι του NavigableMap
Η NavigableMap
θεωρείται ως ένα είδος SortedMap
. Είναι επειδή NavigableMap
επεκτείνει τη SortedMap
διεπαφή.
Ως εκ τούτου, όλες οι SortedMap
μέθοδοι είναι επίσης διαθέσιμες στο NavigableMap
. Για να μάθετε πώς καθορίζονται αυτές οι μέθοδοι SortedMap
, επισκεφθείτε το Java SortedMap.
Ωστόσο, μερικές από τις μεθόδους των SortedMap
( headMap()
, tailMap()
, και subMap()
) ορίζονται διαφορετικά στα NavigableMap
.
Ας δούμε πώς ορίζονται αυτές οι μέθοδοι NavigableMap
.
headMap (κλειδί, booleanValue)
Η headMap()
μέθοδος επιστρέφει όλες τις καταχωρίσεις ενός χάρτη πλοήγησης που σχετίζεται με όλα αυτά τα κλειδιά πριν από το καθορισμένο κλειδί (το οποίο μεταδίδεται ως όρισμα).
Το booleanValue είναι μια προαιρετική παράμετρος. Η προεπιλεγμένη τιμή είναι false
.
Εάν true
περάσει ως booleanValue, η μέθοδος επιστρέφει όλες τις καταχωρήσεις που σχετίζονται με όλα αυτά τα κλειδιά πριν από το καθορισμένο κλειδί, συμπεριλαμβανομένης της καταχώρισης που σχετίζεται με το καθορισμένο κλειδί.
tailMap (κλειδί, booleanValue)
Η tailMap()
μέθοδος επιστρέφει όλες τις καταχωρίσεις ενός χάρτη πλοήγησης που σχετίζεται με όλα αυτά τα κλειδιά μετά το καθορισμένο κλειδί (το οποίο μεταδίδεται ως όρισμα) συμπεριλαμβανομένης της καταχώρισης που σχετίζεται με το καθορισμένο κλειδί.
Το booleanValue είναι μια προαιρετική παράμετρος. Η προεπιλεγμένη τιμή είναι true
.
Εάν false
περάσει ως booleanValue, η μέθοδος επιστρέφει όλες τις καταχωρήσεις που σχετίζονται με αυτά τα κλειδιά μετά το καθορισμένο κλειδί, χωρίς να συμπεριλαμβάνεται η καταχώριση που σχετίζεται με το καθορισμένο κλειδί.
subMap (k1, bv1, k2, bv2)
Η subMap()
μέθοδος επιστρέφει όλες τις καταχωρήσεις που σχετίζονται με τα πλήκτρα μεταξύ k1 και k2 συμπεριλαμβανομένης της καταχώρισης που σχετίζεται με το k1
Τα bv1 και bv2 είναι προαιρετικές παράμετροι. Η προεπιλεγμένη τιμή του bv1 είναι αληθής και η προεπιλεγμένη τιμή του bv2 είναι false
.
Εάν false
περάσει ως bv1, η μέθοδος επιστρέφει όλες τις καταχωρήσεις που σχετίζονται με τα πλήκτρα μεταξύ k1 και k2, χωρίς να περιλαμβάνεται η καταχώριση που σχετίζεται με το k1.
Εάν true
περάσει ως bv2, η μέθοδος επιστρέφει όλες τις καταχωρήσεις που σχετίζονται με τα πλήκτρα μεταξύ k1 και k2, συμπεριλαμβανομένης της καταχώρισης που σχετίζεται με το k1.
Άλλες μέθοδοι
Η NavigableMap
παρέχει διάφορες μεθόδους που μπορούν να χρησιμοποιηθούν για να εντοπίσετε τις εγγραφές των χαρτών.
- descendingMap () - αντιστρέψτε τη σειρά των καταχωρήσεων σε έναν χάρτη
- descendingKeyMap () - αντιστρέφει τη σειρά των κλειδιών σε έναν χάρτη
- ceilingEntry () - επιστρέφει μια καταχώριση με το χαμηλότερο πλήκτρο μεταξύ όλων αυτών των καταχωρήσεων των οποίων τα κλειδιά είναι μεγαλύτερα ή ίσα με το καθορισμένο κλειδί
- ceilingKey () - επιστρέφει το χαμηλότερο κλειδί μεταξύ αυτών των πλήκτρων που είναι μεγαλύτερα ή ίσα με το καθορισμένο κλειδί
- floorEntry () - επιστρέφει μια καταχώριση με το υψηλότερο κλειδί μεταξύ όλων αυτών των καταχωρήσεων των οποίων τα κλειδιά είναι μικρότερα ή ίσα με το καθορισμένο κλειδί
- floorKey () - επιστρέφει το υψηλότερο κλειδί μεταξύ αυτών των κλειδιών που είναι μικρότερα ή ίσα με το καθορισμένο κλειδί
- HigherEntry () - επιστρέφει μια καταχώριση με το χαμηλότερο πλήκτρο μεταξύ όλων αυτών των καταχωρήσεων των οποίων τα κλειδιά είναι μεγαλύτερα από το καθορισμένο κλειδί
- HigherKey () - επιστρέφει το χαμηλότερο κλειδί μεταξύ αυτών των πλήκτρων που είναι μεγαλύτερα από το καθορισμένο κλειδί
- LowerEntry () - επιστρέφει μια καταχώριση με το υψηλότερο κλειδί μεταξύ όλων αυτών των καταχωρήσεων των οποίων τα κλειδιά είναι μικρότερα από το καθορισμένο κλειδί
- lowerKey () - επιστρέφει το υψηλότερο κλειδί μεταξύ αυτών των πλήκτρων που είναι μικρότερα από το καθορισμένο κλειδί
- firstEntry () - επιστρέφει την πρώτη καταχώριση (την καταχώριση με το χαμηλότερο πλήκτρο) του χάρτη
- lastEntry () - επιστρέφει την τελευταία καταχώρηση (την καταχώριση με το υψηλότερο κλειδί) του χάρτη
- pollFirstEntry () - επιστρέφει και αφαιρεί την πρώτη καταχώριση του χάρτη
- pollLastEntry () - επιστρέφει και αφαιρεί την τελευταία καταχώρηση του χάρτη
Για να μάθετε περισσότερα, επισκεφθείτε το Java NavigableMap (επίσημη τεκμηρίωση Java).
Υλοποίηση του NavigableMap στην κλάση TreeMap
import java.util.NavigableMap; import java.util.TreeMap; class Main ( public static void main(String() args) ( // Creating NavigableMap using TreeMap NavigableMap numbers = new TreeMap(); // Insert elements to map numbers.put("Two", 2); numbers.put("One", 1); numbers.put("Three", 3); System.out.println("NavigableMap: " + numbers); // Access the first entry of the map System.out.println("First Entry: " + numbers.firstEntry()); // Access the last entry of the map System.out.println("Last Entry: " + numbers.lastEntry()); // Remove the first entry from the map System.out.println("Removed First Entry: " + numbers.pollFirstEntry()); // Remove the last entry from the map System.out.println("Removed Last Entry: " + numbers.pollLastEntry()); ) )
Παραγωγή
NavigableMap: (One = 1, Three = 3, Two = 2) First Entry: One = 1 Last Entry: Two = 2 Removed First Entry: One = 1 Removed Last Entry: Two = 2
Για να μάθετε περισσότερα TreeMap
, επισκεφθείτε το Java TreeMap.
Τώρα γνωρίζουμε για τη NavigableMap
διεπαφή, θα μάθουμε για την εφαρμογή της χρησιμοποιώντας την TreeMap
κλάση λεπτομερώς στο επόμενο σεμινάριο.