Διεπαφή Java NavigableMap

Σε αυτό το σεμινάριο, θα μάθουμε για τη διεπαφή 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κλάση λεπτομερώς στο επόμενο σεμινάριο.

ενδιαφέροντα άρθρα...