English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base Java

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Gestione delle eccezioni Java

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java NavigableMap 接口

在本教程中,我们将通过一个示例学习Java NavigableMap接口及其方法。

Java集合框架的NavigableMap接口提供了在映射条目之间导航的功能。

它被视为SortedMap的一种类型。

实现NavigableMap的类

由于NavigableMap是接口,因此无法从中创建对象。

为了使用NavigableMap接口的功能,我们需要使用实现NavigableMap的TreeMap类。

如何使用NavigableMap?

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

Metodi di NavigableMap

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.

headMap(key, booleanValue)

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.

tailMap(key, booleanValue)

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.

subMap(k1, bv1, k2, bv2)

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.

Altri metodi

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

Implementazione di NavigableMap nella classe TreeMap

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.