I denne opplæringen vil vi lære om Java NavigableMap-grensesnittet og dets metoder ved hjelp av et eksempel.
Den NavigableMap
grensesnittet til Java samlingene rammeverket gir funksjoner for å navigere mellom kartoppføringer.
Det regnes som en type SortedMap.
Klasse som implementerer NavigableMap
Siden NavigableMap
er et grensesnitt, kan vi ikke lage objekter fra det.
For å kunne bruke funksjonene til NavigableMap
grensesnittet, må vi bruke TreeMap
klassen som implementeres NavigableMap
.
Hvordan bruker jeg NavigableMap?
I Java må vi importere java.util.NavigableMap
pakken for å bruke NavigableMap
. Når vi har importert pakken, kan du lage et navigerbart kart her.
// NavigableMap implementation by TreeMap class NavigableMap numbers = new TreeMap();
I koden ovenfor har vi opprettet et navigerbart kart med navn på TreeMap
klassens nummer .
Her,
- Nøkkel - en unik identifikator som brukes til å knytte hvert element (verdi) til et kart
- Verdi - elementer tilknyttet nøkler i et kart
Metoder for NavigableMap
Det NavigableMap
blir sett på som en type SortedMap
. Det er fordi NavigableMap
utvider SortedMap
grensesnittet.
Derfor er alle SortedMap
metoder også tilgjengelige i NavigableMap
. For å lære hvordan disse metodene er definert i SortedMap
, besøk Java SortedMap.
Men noen av metodene for SortedMap
( headMap()
, tailMap()
, og subMap()
) er definert på en annen måte i NavigableMap
.
La oss se hvordan disse metodene er definert i NavigableMap
.
headMap (nøkkel, boolsk verdi)
Den headMap()
metoden returnerer alle oppføringene av et farbar kart forbundet med alle disse nøklene før den angitte nøkkel (som er sendt som et argument).
BooleanValue er en valgfri parameter. Standardverdien er false
.
Hvis true
sendes som en boolsk verdi, returnerer metoden alle oppføringene som er tilknyttet alle disse tastene før den angitte nøkkelen, inkludert oppføringen knyttet til den angitte nøkkelen.
tailMap (key, booleanValue)
Den tailMap()
metoden returnerer alle oppføringene av et farbar kart forbundet med alle disse nøklene etter den angitte nøkkel (som er sendt som et argument) inkludert inngangen forbundet med den angitte nøkkelen.
BooleanValue er en valgfri parameter. Standardverdien er true
.
Hvis false
sendes som en boolsk verdi, returnerer metoden alle oppføringene som er knyttet til disse tastene etter den angitte nøkkelen, uten å inkludere oppføringen knyttet til den angitte nøkkelen.
subMap (k1, bv1, k2, bv2)
Den subMap()
metoden returnerer alle oppføringene i forbindelse med nøkler mellom k1 og k2, innbefattet inngangs forbundet med k1.
Bv1 og bv2 er valgfrie parametere. Standardverdien for bv1 er sann, og standardverdien for bv2 er false
.
Hvis false
sendes som bv1, returnerer metoden alle oppføringene tilknyttet nøkler mellom k1 og k2, uten å inkludere oppføringen tilknyttet k1.
Hvis true
sendes som bv2, returnerer metoden alle oppføringene tilknyttet nøkler mellom k1 og k2, inkludert oppføringen tilknyttet k1.
Andre metoder
Det NavigableMap
gir forskjellige metoder som kan brukes til å finne oppføringene av kart.
- descendingMap () - snu rekkefølgen på oppføringene på et kart
- descendingKeyMap () - reverserer rekkefølgen på tastene i et kart
- ceilingEntry () - returnerer en oppføring med den laveste tasten blant alle oppføringene hvis tastene er større enn eller lik den angitte tasten
- ceilingKey () - returnerer den laveste tasten blant tastene som er større enn eller lik den angitte tasten
- floorEntry () - returnerer en oppføring med høyeste nøkkel blant alle oppføringene hvis nøkler er mindre enn eller lik den angitte nøkkelen
- floorKey () - returnerer den høyeste tasten blant de tastene som er mindre enn eller lik den angitte tasten
- higherEntry () - returnerer en oppføring med den laveste tasten blant alle oppføringene hvis tastene er større enn den angitte tasten
- higherKey () - returnerer den laveste tasten blant de tastene som er større enn den angitte tasten
- lowerEntry () - returnerer en oppføring med høyeste nøkkel blant alle oppføringene hvis nøkler er mindre enn den angitte nøkkelen
- lowerKey () - returnerer den høyeste tasten blant de tastene som er mindre enn den angitte tasten
- firstEntry () - returnerer den første oppføringen (oppføringen med den laveste nøkkelen) på kartet
- lastEntry () - returnerer den siste oppføringen (oppføringen med høyeste nøkkel) på kartet
- pollFirstEntry () - returnerer og fjerner den første oppføringen av kartet
- pollLastEntry () - returnerer og fjerner den siste oppføringen på kartet
For å lære mer, besøk Java NavigableMap (offisiell Java-dokumentasjon).
Implementering av NavigableMap i TreeMap Class
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()); ) )
Produksjon
NavigableMap: (One = 1, Three = 3, Two = 2) Første oppføring: One = 1 Siste oppføring: To = 2 Fjernet Første oppføring: One = 1 Fjernet Siste oppføring: To = 2
For å lære mer om TreeMap
, besøk Java TreeMap.
Nå vet vi om NavigableMap
grensesnittet, vi lærer om implementeringen ved hjelp av TreeMap
klassen i detalj i neste opplæring.