Java NavigableMap Interface

I denne vejledning lærer vi om Java NavigableMap-grænsefladen og dens metoder ved hjælp af et eksempel.

Den NavigableMapgrænsefladen af Java kollektioner rammer giver de funktioner til at navigere blandt de kort poster.

Det betragtes som en type SortedMap.

Klasse, der implementerer NavigableMap

Da det NavigableMaper en grænseflade, kan vi ikke oprette objekter ud fra det.

For at kunne bruge funktionerne i NavigableMapgrænsefladen skal vi bruge den TreeMapklasse, der implementeres NavigableMap.

Hvordan bruges NavigableMap?

I Java skal vi importere java.util.NavigableMappakken, der skal bruges NavigableMap. Når vi først har importeret pakken, kan du oprette et navigerbart kort.

 // NavigableMap implementation by TreeMap class NavigableMap numbers = new TreeMap(); 

I ovenstående kode har vi oprettet et navigerbart kort, der hedder TreeMapklassens numre .

Her,

  • Nøgle - en unik identifikator, der bruges til at knytte hvert element (værdi) til et kort
  • Værdi - elementer tilknyttet nøgler på et kort

Metoder til NavigableMap

Det NavigableMapbetragtes som en type SortedMap. Det er fordi NavigableMapudvider SortedMapgrænsefladen.

Derfor er alle SortedMapmetoder også tilgængelige i NavigableMap. For at lære, hvordan disse metoder defineres i SortedMap, skal du besøge Java SortedMap.

Imidlertid har nogle af fremgangsmåderne ifølge SortedMap( headMap(), tailMap(), og subMap()) defineres forskelligt i NavigableMap.

Lad os se, hvordan disse metoder er defineret i NavigableMap.

headMap (key, booleanValue)

De headMap()returnerer fremgangsmåden alle firmaer af en navigerbar kort forbundet med alle disse nøgler før den angivne nøgle (som er overført som et argument).

BooleanValue er en valgfri parameter. Dens standardværdi er false.

Hvis truevideregives som en boolsk værdi, returnerer metoden alle de poster, der er knyttet til alle disse nøgler før den angivne nøgle, inklusive den tilknytning, der er knyttet til den angivne nøgle.

tailMap (key, booleanValue)

De tailMap()returnerer fremgangsmåden alle firmaer af en navigerbar kort forbundet med alle disse nøgler efter den angivne nøgle (som er overført som et argument), herunder posten knyttet til den angivne nøgle.

BooleanValue er en valgfri parameter. Dens standardværdi er true.

Hvis falsevideregives som en boolsk værdi, returnerer metoden alle de poster, der er knyttet til disse nøgler, efter den angivne nøgle uden at inkludere den post, der er knyttet til den angivne nøgle.

subMap (k1, bv1, k2, bv2)

De subMap()returnerer fremgangsmåden alle firmaer forbundet med nøgler mellem k1 og k2 herunder indførsel forbundet med k1.

Bv1 og bv2 er valgfri parametre. Standardværdien af ​​bv1 er sand, og standardværdien for bv2 er false.

Hvis falsevideregives som bv1, returnerer metoden alle de poster, der er knyttet til nøglerne mellem k1 og k2, uden at inkludere den tilknytning, der er tilknyttet k1.

Hvis truevideregives som bv2, returnerer metoden alle de poster, der er knyttet til nøglerne mellem k1 og k2, inklusive posten tilknyttet k1.

Andre metoder

Den NavigableMapindeholder forskellige metoder, der kan bruges til at lokalisere indtastningerne af kort.

  • descendingMap () - vend rækkefølgen af ​​poster på et kort
  • descendingKeyMap () - vender rækkefølgen af ​​tasterne på et kort
  • ceilingEntry () - returnerer en post med den laveste nøgle blandt alle de poster, hvis nøgler er større end eller lig med den angivne nøgle
  • ceilingKey () - returnerer den laveste nøgle blandt de taster, der er større end eller lig med den angivne nøgle
  • floorEntry () - returnerer en post med den højeste nøgle blandt alle de poster, hvis nøgler er mindre end eller lig med den angivne nøgle
  • floorKey () - returnerer den højeste nøgle blandt de taster, der er mindre end eller lig med den angivne nøgle
  • higherEntry () - returnerer en post med den laveste nøgle blandt alle de poster, hvis nøgler er større end den angivne nøgle
  • higherKey () - returnerer den laveste nøgle blandt de taster, der er større end den angivne nøgle
  • lowerEntry () - returnerer en post med den højeste nøgle blandt alle de poster, hvis nøgler er mindre end den angivne nøgle
  • lowerKey () - returnerer den højeste nøgle blandt de taster, der er mindre end den angivne nøgle
  • firstEntry () - returnerer den første post (posten med den laveste tast) på kortet
  • lastEntry () - returnerer den sidste post (posten med den højeste nøgle) på kortet
  • pollFirstEntry () - returnerer og fjerner den første post på kortet
  • pollLastEntry () - returnerer og fjerner den sidste post på kortet

For at lære mere, besøg Java NavigableMap (officiel Java-dokumentation).

Implementering af NavigableMap i TreeMap-klasse

 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) Første post: One = 1 Sidste post: To = 2 Fjernet Første post: One = 1 Fjernet Sidste post: To = 2 

For at lære mere om det TreeMap, besøg Java TreeMap.

Nu ved vi om NavigableMapgrænsefladen, vi lærer om dens implementering ved hjælp af TreeMapklassen i detaljer i den næste vejledning.

Interessante artikler...