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-kaartinterface

Java-kaartinterface

In deze zelfstudie leren we over de Java Map-interface en zijn methoden.

De Map interface van het Java-verzamelingsframework biedt de functionaliteit van de kaartgegevensstructuur.


Werking van de kaart

In Java zijn elementen van Map worden opgeslagen in sleutel/waarde paren. Sleutels zijn unieke waarden die zijn gekoppeld aan individuele Waarden .

Een kaart mag geen dubbele sleutels bevatten. En elke sleutel is gekoppeld aan een enkele waarde.

We kunnen waarden openen en wijzigen met behulp van de bijbehorende sleutels.

In het bovenstaande diagram hebben we waarden:Verenigde Staten , Brazilië , en Spanje . En we hebben bijbehorende sleutels:ons , br , en es .

Nu hebben we toegang tot die waarden met de bijbehorende sleutels.

Opmerking: De Map interface onderhoudt 3 verschillende sets:

  • de set sleutels
  • de reeks waarden
  • de set sleutel/waarde-associaties (toewijzing).

Daarom hebben we individueel toegang tot sleutels, waarden en associaties.


Klassen die Map implementeren

Sinds Map is een interface, we kunnen er geen objecten van maken.

Om functionaliteiten van de Map . te gebruiken interface, kunnen we deze klassen gebruiken:

  • HashMap
  • EnumMap
  • LinkedHashMap
  • WeakHashMap
  • Boomkaart

Deze klassen zijn gedefinieerd in het collecties-framework en implementeren de Map interface.


Interfaces die de kaart uitbreiden

De Map interface wordt ook uitgebreid met deze subinterfaces:

  • Gesorteerde kaart
  • NavigableMap
  • ConcurrentMap

Hoe kaart te gebruiken?

In Java moeten we de java.util.Map . importeren pakket om Map . te gebruiken . Zodra we het pakket hebben geïmporteerd, kunnen we als volgt een kaart maken.

// Map implementation using HashMap
Map<Key, Value> numbers = new HashMap<>();

In de bovenstaande code hebben we een Map . gemaakt met de naam nummers . We hebben de HashMap . gebruikt class om de Map . te implementeren interface.

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

Kaartmethodes

De Map interface bevat alle methoden van de Collection koppel. Het is omdat Collection is een superinterface van Map .

Naast methoden die beschikbaar zijn in de Collection interface, de Map interface bevat ook de volgende methoden:

  • put(K, V) - Voegt de associatie van een sleutel K . in en een waarde V in de kaart. Als de sleutel al aanwezig is, vervangt de nieuwe waarde de oude waarde.
  • putAll() - Voegt alle vermeldingen van de opgegeven kaart in op deze kaart.
  • putIfAbsent(K, V) - Voegt de associatie in als de sleutel K is niet al gekoppeld aan de waarde V .
  • get(K) - Retourneert de waarde die is gekoppeld aan de opgegeven sleutel K . Als de sleutel niet wordt gevonden, retourneert deze null .
  • getOrDefault(K, defaultValue) - Retourneert de waarde die is gekoppeld aan de opgegeven sleutel K . Als de sleutel niet wordt gevonden, wordt de defaultValue . geretourneerd .
  • bevatSleutel(K) - Controleert of de opgegeven sleutel K aanwezig is op de kaart of niet.
  • bevatValue(V) - Controleert of de opgegeven waarde V aanwezig is op de kaart of niet.
  • vervang(K, V) - Vervang de waarde van de sleutel K met de nieuwe gespecificeerde waarde V .
  • replace(K, oldValue, newValue) - Vervangt de waarde van de sleutel K met de nieuwe waarde newValue alleen als de sleutel K wordt geassocieerd met de waarde oldValue .
  • verwijder(K) - Verwijdert het item van de kaart weergegeven door de sleutel K .
  • verwijder(K, V) - Verwijdert het item van de kaart met de sleutel K geassocieerd met waarde V .
  • keySet() - Retourneert een set van alle sleutels die aanwezig zijn in een kaart.
  • waarden() - Retourneert een set van alle waarden die aanwezig zijn in een kaart.
  • entrySet() - Retourneert een set van alle sleutel/waarde-toewijzingen die aanwezig zijn in een kaart.

Implementatie van de kaartinterface

1. HashMap-klasse implementeren

import java.util.Map;
import java.util.HashMap;

class Main {

    public static void main(String[] args) {
        // Creating a map using the HashMap
        Map<String, Integer> numbers = new HashMap<>();

        // Insert elements to the map
        numbers.put("One", 1);
        numbers.put("Two", 2);
        System.out.println("Map: " + numbers);

        // Access keys of the map
        System.out.println("Keys: " + numbers.keySet());

        // Access values of the map
        System.out.println("Values: " + numbers.values());

        // Access entries of the map
        System.out.println("Entries: " + numbers.entrySet());

        // Remove Elements from the map
        int value = numbers.remove("Two");
        System.out.println("Removed Value: " + value);
    }
}

Uitvoer

Map: {One=1, Two=2}
Keys: [One, Two]
Values: [1, 2]
Entries: [One=1, Two=2]
Removed Value: 2

Voor meer informatie over HashMap , bezoek Java HashMap.


2. TreeMap Class implementeren

import java.util.Map;
import java.util.TreeMap;

class Main {

    public static void main(String[] args) {
        // Creating Map using TreeMap
        Map<String, Integer> values = new TreeMap<>();

        // Insert elements to map
        values.put("Second", 2);
        values.put("First", 1);
        System.out.println("Map using TreeMap: " + values);

        // Replacing the values
        values.replace("First", 11);
        values.replace("Second", 22);
        System.out.println("New Map: " + values);

        // Remove elements from the map
        int removedValue = values.remove("First");
        System.out.println("Removed Value: " + removedValue);
    }
}

Uitvoer

Map using TreeMap: {First=1, Second=2}
New Map: {First=11, Second=22}
Removed Value: 11

Voor meer informatie over TreeMap , bezoek Java TreeMap.


Java

  1. C#-interface
  2. Java-operators
  3. Java-interface
  4. Java proberen-met-bronnen
  5. Java-annotaties
  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 - Verzamelfabrieksmethoden
  11. Java 9 - Privé-interfacemethoden