Java NavigableMap-interface

In deze tutorial leren we met behulp van een voorbeeld over de Java NavigableMap-interface en zijn methoden.

De NavigableMapinterface van het Java-verzamelingsraamwerk biedt de functies om tussen de kaartitems te navigeren.

Het wordt beschouwd als een soort SortedMap.

Klasse die NavigableMap implementeert

Omdat het NavigableMapeen interface is, kunnen we er geen objecten van maken.

Om de functionaliteiten van de NavigableMapinterface te gebruiken, moeten we de TreeMapklasse gebruiken die implementeert NavigableMap.

Hoe gebruik je NavigableMap?

In Java moeten we het java.util.NavigableMappakket importeren om te gebruiken NavigableMap. Nadat we het pakket hebben geïmporteerd, kunnen we als volgt een navigeerbare kaart maken.

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

In de bovenstaande code hebben we een navigeerbare kaart gemaakt met de naam nummers van de TreeMapklas.

Hier,

  • Sleutel - een unieke identificatie die wordt gebruikt om elk element (waarde) in een kaart te associëren
  • Waarde - elementen die zijn gekoppeld door sleutels in een kaart

Methoden van NavigableMap

Het NavigableMapwordt beschouwd als een soort SortedMap. Het is omdat NavigableMaphet de SortedMapinterface uitbreidt .

Daarom zijn alle SortedMapmethoden ook beschikbaar in NavigableMap. SortedMapBezoek Java SortedMap om te zien hoe deze methoden zijn gedefinieerd .

Sommige van de werkwijzen SortedMap( headMap(), tailMap()en subMap()) verschillend gedefinieerd NavigableMap.

Laten we eens kijken hoe deze methoden zijn gedefinieerd in NavigableMap.

headMap (key, booleanValue)

De headMap()methode retourneert alle items van een navigeerbare kaart die is gekoppeld aan al die sleutels vóór de opgegeven sleutel (die wordt doorgegeven als een argument).

De booleanValue is een optionele parameter. De standaardwaarde is false.

Als truewordt doorgegeven als een booleanValue, retourneert de methode alle items die zijn gekoppeld aan al die sleutels vóór de opgegeven sleutel, inclusief de invoer die is gekoppeld aan de opgegeven sleutel.

tailMap (key, booleanValue)

De tailMap()methode retourneert alle items van een navigeerbare kaart die is gekoppeld aan al die sleutels na de opgegeven sleutel (die wordt doorgegeven als een argument), inclusief de invoer die is gekoppeld aan de opgegeven sleutel.

De booleanValue is een optionele parameter. De standaardwaarde is true.

Als falsewordt doorgegeven als een booleanValue, retourneert de methode alle items die aan die sleutels zijn gekoppeld na de opgegeven sleutel, zonder de vermelding op te nemen die is gekoppeld aan de opgegeven sleutel.

subMap (k1, bv1, k2, bv2)

De subMap()methode retourneert alle items die zijn gekoppeld aan sleutels tussen k1 en k2, inclusief de invoer die is gekoppeld aan k1.

De bv1 en bv2 zijn optionele parameters. De standaardwaarde van bv1 is waar en de standaardwaarde van bv2 is false.

Als falsewordt doorgegeven als bv1, retourneert de methode alle items die zijn gekoppeld aan sleutels tussen k1 en k2, zonder de invoer die is gekoppeld aan k1.

Als truewordt doorgegeven als bv2, retourneert de methode alle items die zijn gekoppeld aan sleutels tussen k1 en k2, inclusief de invoer die is gekoppeld aan k1.

Andere methodes

Het NavigableMapbiedt verschillende methoden die kunnen worden gebruikt om de ingangen van kaarten te lokaliseren.

  • descendingMap () - draai de volgorde van items op een kaart om
  • descendingKeyMap () - keert de volgorde van de toetsen in een kaart om
  • plafondEntry () - retourneert een invoer met de laagste sleutel van alle items waarvan de sleutels groter zijn dan of gelijk zijn aan de opgegeven sleutel
  • plafondKey () - retourneert de laagste sleutel van de sleutels die groter zijn dan of gelijk zijn aan de opgegeven sleutel
  • floorEntry () - retourneert een item met de hoogste sleutel uit alle items waarvan de sleutels kleiner zijn dan of gelijk zijn aan de opgegeven sleutel
  • floorKey () - retourneert de hoogste sleutel van die sleutels die kleiner zijn dan of gelijk zijn aan de opgegeven sleutel
  • highEntry () - retourneert een item met de laagste sleutel uit alle items waarvan de sleutels groter zijn dan de opgegeven sleutel
  • highkey () - retourneert de laagste sleutel van de sleutels die groter zijn dan de opgegeven sleutel
  • lowerEntry () - retourneert een item met de hoogste sleutel van alle items waarvan de sleutels kleiner zijn dan de opgegeven sleutel
  • lowerKey () - retourneert de hoogste sleutel van de sleutels die kleiner zijn dan de opgegeven sleutel
  • firstEntry () - geeft het eerste item (het item met de laagste toets) van de kaart terug
  • lastEntry () - geeft de laatste invoer (de invoer met de hoogste toets) van de kaart terug
  • pollFirstEntry () - retourneert en verwijdert de eerste invoer van de kaart
  • pollLastEntry () - retourneert en verwijdert de laatste invoer van de kaart

Bezoek voor meer informatie Java NavigableMap (officiële Java-documentatie).

Implementatie van NavigableMap in 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()); ) ) 

Uitvoer

 NavigableMap: (een = 1, drie = 3, twee = 2) Eerste invoer: een = 1 Laatste invoer: twee = 2 verwijderd Eerste invoer: een = 1 verwijderd Laatste invoer: twee = 2 

Voor meer informatie over TreeMap, bezoek Java TreeMap.

Nu we de NavigableMapinterface kennen, zullen we TreeMapin de volgende zelfstudie in detail leren over de implementatie ervan met behulp van de klasse.

Interessante artikelen...