Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

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

  1. C#-interface
  2. Java-operators
  3. Java super
  4. Java-interface
  5. Java proberen-met-bronnen
  6. Java NavigableSet-interface
  7. Java Lambda-expressies
  8. Interface versus abstracte klasse in Java:wat is het verschil?
  9. Java - Interfaces
  10. Java 9 - Privé-interfacemethoden
  11. Aanmelden bij Java:belangrijke tips om te overwegen