Java NavigableMap Interface

I denne opplæringen vil vi lære om Java NavigableMap-grensesnittet og dets metoder ved hjelp av et eksempel.

Den NavigableMapgrensesnittet til Java samlingene rammeverket gir funksjoner for å navigere mellom kartoppføringer.

Det regnes som en type SortedMap.

Klasse som implementerer NavigableMap

Siden NavigableMaper et grensesnitt, kan vi ikke lage objekter fra det.

For å kunne bruke funksjonene til NavigableMapgrensesnittet, må vi bruke TreeMapklassen som implementeres NavigableMap.

Hvordan bruker jeg NavigableMap?

I Java må vi importere java.util.NavigableMappakken 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å TreeMapklassens 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 NavigableMapblir sett på som en type SortedMap. Det er fordi NavigableMaputvider SortedMapgrensesnittet.

Derfor er alle SortedMapmetoder 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 truesendes 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 falsesendes 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 falsesendes som bv1, returnerer metoden alle oppføringene tilknyttet nøkler mellom k1 og k2, uten å inkludere oppføringen tilknyttet k1.

Hvis truesendes som bv2, returnerer metoden alle oppføringene tilknyttet nøkler mellom k1 og k2, inkludert oppføringen tilknyttet k1.

Andre metoder

Det NavigableMapgir 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 NavigableMapgrensesnittet, vi lærer om implementeringen ved hjelp av TreeMapklassen i detalj i neste opplæring.

Interessante artikler...