Interfaccia Java NavigableMap

In questo tutorial impareremo a conoscere l'interfaccia Java NavigableMap e i suoi metodi con l'aiuto di un esempio.

L' NavigableMapinterfaccia 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à NavigableMapdell'interfaccia, dobbiamo utilizzare la TreeMapclasse che implementa NavigableMap.

Come utilizzare NavigableMap?

In Java, dobbiamo importare il java.util.NavigableMappacchetto 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 TreeMapclasse.

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é NavigableMapestende l' SortedMapinterfaccia.

Quindi, tutti i SortedMapmetodi 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 trueviene 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 falseviene 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 falseviene 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 trueviene 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 NavigableMapfornisce 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' NavigableMapinterfaccia, impareremo la sua implementazione utilizzando la TreeMapclasse in dettaglio nel prossimo tutorial.

Articoli interessanti...