I denna handledning lär vi oss om Java NavigableMap-gränssnittet och dess metoder med hjälp av ett exempel.
Det NavigableMap
gränssnitt samlingar ramen för Java ger funktioner för att navigera bland kart poster.
Det betraktas som en typ av SortedMap.
Klass som implementerar NavigableMap
Eftersom det NavigableMap
är ett gränssnitt kan vi inte skapa objekt från det.
För att kunna använda funktionerna i NavigableMap
gränssnittet måste vi använda den TreeMap
klass som implementeras NavigableMap
.
Hur använder jag NavigableMap?
I Java måste vi importera java.util.NavigableMap
paketet för att kunna använda NavigableMap
. När vi väl har importerat paketet kan du skapa en navigerbar karta här.
// NavigableMap implementation by TreeMap class NavigableMap numbers = new TreeMap();
I koden ovan har vi skapat en navigerbar karta med namnen på TreeMap
klassen.
Här,
- Nyckel - en unik identifierare som används för att associera varje element (värde) på en karta
- Värde - element som är associerade med nycklar på en karta
Metoder för NavigableMap
Den NavigableMap
betraktas som en typ av SortedMap
. Det beror på att NavigableMap
utvidgar SortedMap
gränssnittet.
Därför är alla SortedMap
metoder också tillgängliga i NavigableMap
. För att lära dig hur dessa metoder definieras i SortedMap
, besök Java SortedMap.
Emellertid, några av metoderna enligt SortedMap
( headMap()
, tailMap()
, och subMap()
) definieras på olika sätt i NavigableMap
.
Låt oss se hur dessa metoder definieras i NavigableMap
.
headMap (key, booleanValue)
De headMap()
metoden returnerar alla inmatningar av en farbar karta associerad med alla dessa nycklar före den angivna nyckeln (som leds som argument).
BooleanValue är en valfri parameter. Standardvärdet är false
.
Om true
skickas som en booleanVärde returnerar metoden alla poster som är associerade med alla dessa nycklar före den angivna nyckeln, inklusive den post som är associerad med den angivna nyckeln.
tailMap (key, booleanValue)
De tailMap()
metoden returnerar alla inmatningar av en farbar karta associerad med alla dessa nycklar efter den angivna nyckeln (som skickas som ett argument) inklusive av ingångs associerad med den angivna nyckeln.
BooleanValue är en valfri parameter. Standardvärdet är true
.
Om false
skickas som en booleanValue returnerar metoden alla poster som är associerade med dessa nycklar efter den angivna nyckeln, utan att inkludera posten som är associerad med den angivna nyckeln.
subMap (k1, bv1, k2, bv2)
De subMap()
metoden returnerar alla poster i samband med nycklar mellan K1 och K2, inklusive posten i samband med K1.
Bv1 och bv2 är valfria parametrar. Standardvärdet för bv1 är sant och standardvärdet för bv2 är false
.
Om false
skickas som bv1 returnerar metoden alla poster som är associerade med nycklar mellan k1 och k2, utan att inkludera posten associerad med k1.
Om true
skickas som bv2 returnerar metoden alla poster som är associerade med nycklar mellan k1 och k2, inklusive posten associerad med k1.
Andra metoder
Det NavigableMap
innehåller olika metoder som kan användas för att lokalisera posterna på kartorna.
- descendingMap () - omvänd ordningen på posterna på en karta
- descendingKeyMap () - vänder nyckelordningen i en karta
- ceilingEntry () - returnerar en post med den lägsta tangenten bland alla poster vars tangenter är större än eller lika med den angivna tangenten
- ceilingKey () - returnerar den lägsta tangenten bland de tangenter som är större än eller lika med den angivna tangenten
- floorEntry () - returnerar en post med den högsta tangenten bland alla de poster vars nycklar är mindre än eller lika med den angivna tangenten
- floorKey () - returnerar den högsta tangenten bland de tangenter som är mindre än eller lika med den angivna tangenten
- higherEntry () - returnerar en post med den lägsta tangenten bland alla de poster vars tangenter är större än den angivna tangenten
- higherKey () - returnerar den lägsta tangenten bland de tangenter som är större än den angivna tangenten
- lowerEntry () - returnerar en post med den högsta tangenten bland alla de poster vars knappar är mindre än den angivna tangenten
- lowerKey () - returnerar den högsta tangenten bland de tangenter som är mindre än den angivna tangenten
- firstEntry () - returnerar den första posten (posten med den lägsta tangenten) på kartan
- lastEntry () - returnerar den sista posten (posten med den högsta tangenten) på kartan
- pollFirstEntry () - returnerar och tar bort den första posten på kartan
- pollLastEntry () - returnerar och tar bort den sista posten på kartan
För att lära dig mer, besök Java NavigableMap (officiell Java-dokumentation).
Implementering av NavigableMap i TreeMap-klass
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()); ) )
Produktion
NavigableMap: (One = 1, Three = 3, Two = 2) First Entry: One = 1 Last Entry: Two = 2 Borttaget First Entry: One = 1 Borttaget Senaste inmatning: Two = 2
För att lära dig mer om TreeMap
, besök Java TreeMap.
Nu vet vi om NavigableMap
gränssnittet, vi lär oss om dess implementering med hjälp av TreeMap
klassen i detalj i nästa handledning.