Java NavigableMap-interface
Java NavigableMap-interface
In deze zelfstudie leren we over de Java NavigableMap-interface en zijn methoden aan de hand van een voorbeeld.
De NavigableMap
interface van het Java-verzamelingsframework biedt de functies om tussen de kaartitems te navigeren.
Het wordt beschouwd als een soort SortedMap.
Klasse die NavigableMap implementeert
Sinds NavigableMap
is een interface, we kunnen er geen objecten van maken.
Om de functionaliteiten van de NavigableMap
. te gebruiken interface, moeten we de TreeMap
. gebruiken klasse die NavigableMap
implementeert .
Hoe NavigableMap gebruiken?
In Java moeten we de java.util.NavigableMap
. importeren pakket om NavigableMap
te gebruiken . Zodra we het pakket hebben geïmporteerd, kunnen we als volgt een navigeerbare kaart maken.
// NavigableMap implementation by TreeMap class
NavigableMap<Key, Value> numbers = new TreeMap<>();
In de bovenstaande code hebben we een navigeerbare kaart gemaakt met de naam nummers van de TreeMap
klasse.
Hier,
- Sleutel - een unieke identificatie die wordt gebruikt om elk element (waarde) in een kaart te associëren
- Waarde - elementen geassocieerd met sleutels in een kaart
Methoden van NavigableMap
De NavigableMap
wordt beschouwd als een type SortedMap
. Het is omdat NavigableMap
verlengt de SortedMap
interface.
Vandaar dat alle SortedMap
methoden zijn ook beschikbaar in NavigableMap
. Om te leren hoe deze methoden worden gedefinieerd in SortedMap
, bezoek Java SortedMap.
Sommige van de methoden van SortedMap
(headMap()
, tailMap()
, en subMap()
) worden anders gedefinieerd in NavigableMap
.
Laten we eens kijken hoe deze methoden worden 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 (wat als argument wordt doorgegeven).
De booleanValue is een optionele parameter. De standaardwaarde is false
.
Als true
wordt doorgegeven als een booleanValue , retourneert de methode alle items die zijn gekoppeld aan al die sleutels vóór de opgegeven sleutel , inclusief het item dat 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 als argument wordt doorgegeven) inclusief het item dat is gekoppeld aan de opgegeven sleutel .
De booleanValue is een optionele parameter. De standaardwaarde is true
.
Als false
wordt 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 het item geassocieerd met k1 .
De bv1 en bv2 zijn optionele parameters. De standaardwaarde van bv1 is waar en de standaardwaarde van bv2 is false
.
Als false
wordt 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 true
wordt doorgegeven als bv2 , retourneert de methode alle items die zijn gekoppeld aan sleutels tussen k1 en k2 , inclusief het item dat hoort bij k1 .
Andere methoden
De NavigableMap
biedt verschillende methoden die kunnen worden gebruikt om de invoer van kaarten te lokaliseren.
- descendingMap() - keer de volgorde van vermeldingen op een kaart om
- descendingKeyMap() - keert de volgorde van sleutels in een kaart om
- plafondEntry() - retourneert een item met de laagste sleutel van alle items waarvan de sleutel groter is dan of gelijk is aan de opgegeven sleutel
- plafondKey() - geeft de laagste sleutel terug onder de sleutels die groter zijn dan of gelijk zijn aan de opgegeven sleutel
- floorEntry() - retourneert een item met de hoogste sleutel van alle items waarvan de sleutels kleiner zijn dan of gelijk zijn aan de opgegeven sleutel
- floorKey() - geeft de hoogste sleutel terug onder de sleutels die kleiner zijn dan of gelijk zijn aan de opgegeven sleutel
- higherEntry() - retourneert een item met de laagste sleutel van alle items waarvan de sleutels groter zijn dan de opgegeven sleutel
- higherKey() - geeft de laagste sleutel terug onder de sleutels die groter zijn dan de opgegeven sleutel
- lowerEntry() - retourneert een item met de hoogste sleutel van alle items waarvan de sleutel kleiner is dan de opgegeven sleutel
- lowerKey() - geeft de hoogste sleutel terug van de sleutels die kleiner zijn dan de opgegeven sleutel
- firstEntry() - geeft de eerste invoer (de invoer met de laagste toets) van de kaart terug
- lastEntry() - geeft de laatste invoer (de invoer met de hoogste sleutel) van de kaart terug
- pollFirstEntry() - keert terug en verwijdert de eerste invoer van de kaart
- pollLastEntry() - keert terug en verwijdert de laatste invoer van de kaart
Ga voor meer informatie naar 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<String, Integer> 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: {One=1, Three=3, Two=2} First Entry: One=1 Last Entry: Two=2 Removed First Entry: One=1 Removed Last Entry: Two=2
Voor meer informatie over TreeMap
, bezoek Java TreeMap.
Nu weten we over de NavigableMap
interface, zullen we leren over de implementatie ervan met behulp van de TreeMap
klas in detail in de volgende tutorial.
Java