In questo tutorial impareremo a conoscere l'interfaccia Java NavigableMap e i suoi metodi con l'aiuto di un esempio.
L' NavigableMap
interfaccia del framework delle collezioni Java fornisce le funzionalità per navigare tra le voci della mappa.
È considerato come un tipo di SortedMap.
Classe che implementa NavigableMap
Poiché NavigableMap
è un'interfaccia, non possiamo creare oggetti da essa.
Per utilizzare le funzionalità NavigableMap
dell'interfaccia, dobbiamo utilizzare la TreeMap
classe che implementa NavigableMap
.
Come utilizzare NavigableMap?
In Java, dobbiamo importare il java.util.NavigableMap
pacchetto da utilizzare NavigableMap
. Una volta importato il pacchetto, ecco come possiamo creare una mappa navigabile.
// NavigableMap implementation by TreeMap class NavigableMap numbers = new TreeMap();
Nel codice sopra, abbiamo creato una mappa navigabile denominata numeri della TreeMap
classe.
Qui,
- Chiave: un identificatore univoco utilizzato per associare ogni elemento (valore) in una mappa
- Valore: elementi associati da chiavi in una mappa
Metodi di NavigableMap
Il NavigableMap
è considerato come un tipo di SortedMap
. È perché NavigableMap
estende l' SortedMap
interfaccia.
Quindi, tutti i SortedMap
metodi sono disponibili anche in NavigableMap
. Per sapere come vengono definiti questi metodi SortedMap
, visitare Java SortedMap.
Tuttavia, alcuni dei metodi di SortedMap
( headMap()
, tailMap()
e subMap()
) sono definiti in modo diverso NavigableMap
.
Vediamo come vengono definiti questi metodi in NavigableMap
.
headMap (key, booleanValue)
Il headMap()
metodo restituisce tutte le voci di una mappa navigabile associate a tutte quelle chiavi prima della chiave specificata (che viene passata come argomento).
BooleanValue è un parametro facoltativo. Il suo valore predefinito è false
.
Se true
viene passato come valore booleano, il metodo restituisce tutte le voci associate a tutte quelle chiavi prima della chiave specificata, inclusa la voce associata alla chiave specificata.
tailMap (key, booleanValue)
Il tailMap()
metodo restituisce tutte le voci di una mappa navigabile associate a tutte quelle chiavi dopo la chiave specificata (che viene passata come argomento) inclusa la voce associata alla chiave specificata.
BooleanValue è un parametro facoltativo. Il suo valore predefinito è true
.
Se false
viene passato come valore booleano, il metodo restituisce tutte le voci associate a quelle chiavi dopo la chiave specificata, senza includere la voce associata alla chiave specificata.
mappa secondaria (k1, bv1, k2, bv2)
Il subMap()
metodo restituisce tutte le voci associate alle chiavi tra k1 e k2, inclusa la voce associata a k1.
Bv1 e bv2 sono parametri opzionali. Il valore predefinito di bv1 è vero e il valore predefinito di bv2 è false
.
Se false
viene passato come bv1, il metodo restituisce tutte le voci associate alle chiavi comprese tra k1 e k2, senza includere la voce associata a k1.
Se true
viene passato come bv2, il metodo restituisce tutte le voci associate alle chiavi comprese tra k1 e k2, inclusa la voce associata a k1.
Altri metodi
Il NavigableMap
fornisce diversi metodi che possono essere utilizzati per individuare le voci di mappe.
- descendingMap () - inverte l'ordine delle voci in una mappa
- descendingKeyMap () - inverte l'ordine delle chiavi in una mappa
- soffittoEntry () - restituisce una voce con la chiave più bassa tra tutte quelle voci le cui chiavi sono maggiori o uguali alla chiave specificata
- soffittoKey () : restituisce la chiave più bassa tra quelle chiavi che sono maggiori o uguali alla chiave specificata
- floorEntry () - restituisce una voce con la chiave più alta tra tutte quelle voci le cui chiavi sono minori o uguali alla chiave specificata
- floorKey () - restituisce la chiave più alta tra quelle chiavi che sono minori o uguali alla chiave specificata
- upperEntry () : restituisce una voce con la chiave più bassa tra tutte quelle voci le cui chiavi sono maggiori della chiave specificata
- upperKey () : restituisce la chiave più bassa tra quelle che sono maggiori della chiave specificata
- lowerEntry () - restituisce una voce con la chiave più alta tra tutte quelle voci le cui chiavi sono inferiori alla chiave specificata
- lowerKey () - restituisce la chiave più alta tra quelle chiavi che sono inferiori alla chiave specificata
- firstEntry () - restituisce la prima voce (la voce con la chiave più bassa) della mappa
- lastEntry () - restituisce l'ultima voce (la voce con la chiave più alta) della mappa
- pollFirstEntry () - restituisce e rimuove la prima voce della mappa
- pollLastEntry () - restituisce e rimuove l'ultima voce della mappa
Per saperne di più, visita Java NavigableMap (documentazione Java ufficiale).
Implementazione di NavigableMap nella classe 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()); ) )
Produzione
Mappa navigabile: (Uno = 1, Tre = 3, Due = 2) Primo ingresso: Uno = 1 Ultimo ingresso: Due = 2 Primo ingresso rimosso: Uno = 1 Ultimo ingresso rimosso: Due = 2
Per saperne di più TreeMap
, visita Java TreeMap.
Ora che conosciamo l' NavigableMap
interfaccia, impareremo la sua implementazione utilizzando la TreeMap
classe in dettaglio nel prossimo tutorial.