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

Java-Grundlagen-Tutorial

Java flow control

Java array

Java object-oriented (I)

Java object-oriented (II)

Java object-oriented (III)

Java-Exception-Verarbeitung

Java List

Java Queue (queue)

Java Map collection

Java Set collection

Java input output (I/O)

Java Reader/Writer

Java other topics

Java NavigableMap interface

In this tutorial, we will learn about the Java NavigableMap interface and its methods through an example.

The NavigableMap interface of the Java collection framework provides the function of navigating between mapping entries.

It is consideredSortedMapa type.

Classes that implement NavigableMap

Since NavigableMap is an interface, it is not possible to create an object from it.

To use the functions of the NavigableMap interface, we need to use the TreeMap class that implements NavigableMap.

How to use NavigableMap?

In Java, we must import the java.util.NavigableMap package to use NavigableMap. After importing the package, NavigableMap will be created as follows.

// NavigableMap由TreeMap类实现
NavigableMap wird durch die Klasse TreeMap implementiert.

 NavigableMap<Key, Value> numbers = new TreeMap<>();

Im obigen Code haben wir eine navigable Map namens numbers der Klasse TreeMap erstellt.

  • Hier, - Key

  • Einzigartiger Bezeichner, um jedes Element (Wert) im Mapping zu verknüpfen - Value

Elemente, die mit dem Schlüssel im Map verknüpft sind

Methoden von NavigableMap

NavigableMap wird als eine Art von SortedMap betrachtet. Dies liegt daran, dass NavigableMap das SortedMap-Interface implementiert.Daher können in NavigableMap alle Methoden von SortedMap verwendet werden. Um zu verstehen, wie man diese Methoden in SortedMap definiert, besuchen Sie.

Java SortedMap

Aber in NavigableMap sind einige Methoden von SortedMap (headMap(), tailMap() und subMap()) anders definiert.

Lassen Sie uns sehen, wie man diese Methoden in einem NavigableMap definiert.

headMap(key,booleanValue)

Die Methode headMap() gibt alle Einträge zurück, die mit den Schlüsseln vor dem angegebenen Schlüssel verknüpft sind.

booleanValue ist ein optionaler Parameter. Standardwert ist false.

wenn booleanValue true ist, dann gibt diese Methode alle Einträge zurück, die mit den Schlüsseln vor dem angegebenen Schlüssel(key) verknüpft sind, einschließlich derjenigen, die mit dem angegebenen Schlüssel(key) verknüpft sind.

tailMap(key,booleanValue)

Die Methode tailMap() gibt alle Einträge zurück, die mit den Schlüsseln nach dem angegebenen Schlüssel(key) verknüpft sind, einschließlich derjenigen, die mit dem angegebenen Schlüssel(key) verknüpft sind.

booleanValue ist ein optionaler Parameter. Standardwert ist true.

wenn booleanValue false ist, dann gibt diese Methode diejenigen zurück, die nach dem angegebenen Schlüssel(key) verknüpft sind, ohne diejenigen, die mit dem angegebenen Schlüssel(key) verknüpft sind.1,bv1,k2,bv2)

gibt diejenigen zurück, die mit k1und k2Alle Einträge, die mit dem Schlüssel verknüpft sind, einschließlich derjenigen, die mit k1verwandte Einträge.

bv1und bv2ist ein optionaler Parameter. bv1Standardwert ist true, bv2Standardwert ist false.

wenn bv1wenn false, dann gibt diese Methode diejenigen zurück, die mit k1und k2Alle Einträge, die mit dem Schlüssel verknüpft sind, ohne diejenigen, die mit k1Verknüpfte Einträge.

wenn bv2wenn bv1und k2zwischen den Schlüsseln verknüpften alle Einträge, einschließlich derjenigen mit k1Verknüpfte Einträge.

Andere Methoden

NavigableMap bietet verschiedene Methoden zur Lokalisierung der Einträge im Mapping an.

  • DescendingMap() - Reversieren der Reihenfolge der Einträge im Map

  • DescendingKeyMap() - Reversieren der Reihenfolge der Schlüssel im Map

  • ceilingEntry() - Kleinsten Eintrag zurückgeben, dessen Schlüssel über oder gleich dem angegebenen Schlüssel sind

  • ceilingKey() - Kleinsten Schlüssel über oder gleich dem angegebenen Schlüssel zurückgeben

  • floorEntry() - Größten Eintrag zurückgeben, dessen Schlüssel unter oder gleich dem angegebenen Schlüssel sind

  • floorKey() - Größten Schlüssel unter oder gleich dem angegebenen Schlüssel zurückgeben

  • HigherEntry() - Kleinsten Eintrag zurückgeben, dessen Schlüssel größer als der angegebene Schlüssel sind

  • HigherKey() - Kleinsten Schlüssel über dem angegebenen Schlüssel zurückgeben

  • lowerEntry() - Größten Eintrag zurückgeben, dessen Schlüssel kleiner als der angegebene Schlüssel sind

  • lowerKey() - Größten Schlüssel unter dem angegebenen Schlüssel zurückgeben

  • firstEntry() - Ersten Eintrag im Map zurückgeben (Eintrag mit kleinstem Schlüssel)

  • lastEntry() - Letzten Eintrag im Map zurückgeben (Eintrag mit größtem Schlüssel)

  • pollFirstEntry() - Ersten Eintrag im Map zurückgeben und löschen

  • pollLastEntry() - Letzten Eintrag im Map zurückgeben und löschen

Realisierung von NavigableMap in TreeMap

import java.util.NavigableMap;
import java.util.TreeMap;
class Main {
    public static void main(String[] args) {
        //NavigableMap durch TreeMap implementieren
        NavigableMap<String, Integer> numbers = new TreeMap<>();
        //Eintrag in das Map-Eingabe
        numbers.put("Two", 2);
        numbers.put("One", 1);
        numbers.put("Three", 3);
        System.out.println("NavigableMap: " ); + numbers);
        //Erste Eintragung im Mapping
        System.out.println("Erstes Element: " ); + numbers.firstEntry());
        //Zugriff auf das letzte Element der Karte
        System.out.println("Letztes Element: ", + numbers.lastEntry());
        //Erstes Element aus der Abbildung löschen
        System.out.println("Erstes Element löschen: ", + numbers.pollFirstEntry());
        //Letztes Element aus dem Diagramm löschen
        System.out.println("Letztes Element löschen: ", + numbers.pollLastEntry());
    }
}

Ausgabeergebnis

NavigableMap: {One=1, Three=3, Two=2}
Erstes Element: One=1
Letztes Element: Two=2
Erstes Element löschen: One=1
Letztes Element löschen: Two=2

Um mehr über TreeMap zu erfahren, besuchen SieJava TreeMap.

Jetzt, da wir den NavigableMap Schnittstelle kennen, werden wir im nächsten Tutorial die TreeMap Klasse verwenden und ihre Implementierung im Detail verstehen.