English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在本教程中,我们将通过一个示例学习Java NavigableMap接口及其方法。
Java集合框架的NavigableMap接口提供了在映射条目之间导航的功能。
它被视为SortedMap的一种类型。
由于NavigableMap是接口,因此无法从中创建对象。
为了使用NavigableMap接口的功能,我们需要使用实现NavigableMap的TreeMap类。
In Java,我们必须导入java.util.NavigableMap包才能使用NavigableMap。导入包后,将按照以下方法创建NavigableMap。
// NavigableMap由TreeMap类实现 NavigableMap<Key, Value> numbers = new TreeMap<>();
Nel codice sopra, abbiamo creato una mappatura navigabile di nome numbers della classe TreeMap.
Ecco
Key - identificatore unico utilizzato per associare ogni elemento (valore) nel mappatura
Value - elemento associato alla chiave nel mappatura
NavigableMap è considerato un tipo di SortedMap. Questo perché NavigableMap eredita l'interfaccia SortedMap.
Pertanto, possono essere utilizzati tutti i metodi di SortedMap in NavigableMap. Per sapere come definire questi metodi in SortedMap, visitaJava SortedMap.
Ma in NavigableMap, alcuni metodi di SortedMap (headMap(), tailMap() e subMap()) sono definiti in modo diverso.
Vediamo come definire questi metodi in NavigableMap.
Il metodo headMap() restituisce tutti gli elementi associati a tutte le chiavi precedenti alla chiave specificata (passata come parametro) di una mappatura navigabile.
booleanValue è un parametro opzionale. Il valore predefinito è false.
Se booleanValue è true, il metodo restituirà tutti gli elementi associati a tutte le chiavi precedenti a quella specificata, inclusi quelli associati alla chiave specificata.
Il metodo tailMap() restituisce tutti gli elementi associati a tutte le chiavi successive alla chiave specificata (passata come parametro) di un mappatura navigabile, inclusi quelli associati alla chiave specificata.
booleanValue è un parametro opzionale. Il valore predefinito è true.
Se booleanValue è false, il metodo restituirà tutti gli elementi associati alle chiavi successive alla chiave specificata, ma non quelli associati a tale chiave specificata.
Il metodo subMap() restituisce tutti gli elementi associati alle chiavi tra k1 e k2, inclusi quelli associati a k1.
bv1 e bv2 sono parametri opzionali. Il valore predefinito di bv1 è true, mentre quello di bv2 è false.
Se bv1 è false, il metodo restituisce tutti gli elementi associati alle chiavi tra k1 e k2, ma non quelli associati a k1.
Se bv2 è true, il metodo restituisce tutti gli elementi associati alle chiavi tra k1 e k2, inclusi quelli associati a k1.
NavigableMap fornisce vari metodi utilizzabili per localizzare gli elementi della mappa.
DescendingMap() - Inverti l'ordine degli elementi nella mappa
DescendingKeyMap() - Inverti l'ordine delle chiavi nella mappa
ceilingEntry() - Restituisci l'elemento con la chiave minima tra tutti gli elementi con chiavi superiori o uguali alla chiave specificata
ceilingKey() - Restituisci la chiave minima tra quelle chiavi che sono superiori o uguali alla chiave specificata
floorEntry() - Restituisci l'elemento con la chiave massima tra tutti gli elementi con chiavi inferiori o uguali alla chiave specificata
floorKey() - Restituisci la chiave massima tra quelle chiavi che sono inferiori o uguali alla chiave specificata
HigherEntry() - Restituisci l'elemento con la chiave minima tra tutti gli elementi con chiavi superiori alla chiave specificata
HigherKey() - Restituisci la chiave minima tra quelle chiavi che sono superiori alla chiave specificata
lowerEntry() - Restituisci l'elemento con la chiave massima tra tutti gli elementi con chiavi inferiori alla chiave specificata
lowerKey() - Restituisci la chiave massima tra quelle chiavi che sono inferiori alla chiave specificata
firstEntry() - Restituisci il primo elemento della mappa (l'elemento con la chiave minima)
lastEntry() - Restituisci l'ultimo elemento della mappa (l'elemento con la chiave massima)
pollFirstEntry() - Restituisci ed elimina il primo elemento della mappa
pollLastEntry() - Restituisci ed elimina l'ultimo elemento della mappa
import java.util.NavigableMap; import java.util.TreeMap; class Main { public static void main(String[] args) { //Utilizza TreeMap per creare NavigableMap NavigableMap<String, Integer> numbers = new TreeMap<>(); //Inserisci un elemento nella mappa numbers.put("Two", 2); numbers.put("One", 1); numbers.put("Three", 3); System.out.println("NavigableMap: " + numbers); //Accedi al primo elemento della mappa System.out.println("Primo elemento: " + numbers.firstEntry()); //Accedi all'ultimo elemento della mappa System.out.println("Ultimo elemento: " + numbers.lastEntry()); //Eliminare il primo elemento dalla mappa System.out.println("Eliminare il primo elemento: " + numbers.pollFirstEntry()); //Eliminare l'ultimo elemento dalla mappa System.out.println("Eliminare l'ultimo elemento: " + numbers.pollLastEntry()); } }
Risultato di output
NavigableMap: {One=1, Three=3, Two=2} Primo elemento: One=1 Ultimo elemento: Two=2 Eliminare il primo elemento: One=1 Eliminare l'ultimo elemento: Two=2
Per ulteriori informazioni su TreeMap, visitareJava TreeMap.
Ora che conosciamo l'interfaccia NavigableMap, useremo la classe TreeMap nel prossimo tutorial per approfondire la sua implementazione.