Java Map Interface

I denne vejledning lærer vi om Java Map-grænsefladen og dens metoder.

Den Mapgrænsefladen af Java kollektioner rammer giver funktionaliteten af kortet datastruktur.

Arbejd af kort

I Java Mapgemmes elementer i nøgle / værdipar. Nøgler er unikke værdier, der er knyttet til individuelle værdier .

Et kort kan ikke indeholde duplikatnøgler. Og hver nøgle er knyttet til en enkelt værdi.

Vi kan få adgang til og ændre værdier ved hjælp af de nøgler, der er knyttet til dem.

I ovenstående diagram har vi værdier: USA, Brasilien og Spanien. Og vi har tilsvarende nøgler: os, br og es.

Nu kan vi få adgang til disse værdier ved hjælp af deres tilsvarende nøgler.

Bemærk: Den Mapgrænseflade fastholder 3 forskellige sæt:

  • sæt nøgler
  • værdisættet
  • sættet med nøgle / værdiforening (kortlægning).

Derfor kan vi få adgang til nøgler, værdier og tilknytninger individuelt.

Klasser, der implementerer Map

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

For at kunne bruge funktionerne i Mapgrænsefladen kan vi bruge disse klasser:

  • HashMap
  • EnumMap
  • LinkedHashMap
  • WeakHashMap
  • TreeMap

Disse klasser er defineret i samlingerammen og implementerer Mapgrænsefladen.

Java-kortunderklasser

Grænseflader, der udvider kortet

Den Mapinterface er også forlænget med disse subinterfaces:

  • SortedMap
  • NavigableMap
  • ConcurrentMap
Java-kortundergrænseflader

Hvordan bruges Map?

I Java skal vi importere java.util.Mappakken for at kunne bruge den Map. Når vi først har importeret pakken, kan du oprette et kort her.

 // Map implementation using HashMap Map numbers = new HashMap(); 

I ovenstående kode har vi oprettet et Mapnavngivet nummer. Vi har brugt HashMapklassen til at implementere Mapgrænsefladen.

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 kort

Den Mapgrænseflade omfatter alle fremgangsmåderne ifølge Collectiongrænsefladen. Det er fordi Collectioner en super grænseflade af Map.

Udover metoder, der er tilgængelige i Collectiongrænsefladen, Mapinkluderer grænsefladen også følgende metoder:

  • put (K, V) - Indsætter tilknytningen af ​​en nøgle K og en værdi V på kortet. Hvis nøglen allerede er til stede, erstatter den nye værdi den gamle værdi.
  • putAll () - Indsætter alle poster fra det angivne kort til dette kort.
  • putIfAbsent (K, V) - Indsætter tilknytningen, hvis nøglen K ikke allerede er tilknyttet værdien V.
  • get (K) - Returnerer den værdi, der er knyttet til den angivne nøgle K. Hvis nøglen ikke findes, returnerer den null.
  • getOrDefault (K, defaultValue) - Returnerer den værdi, der er knyttet til den angivne nøgle K. Hvis nøglen ikke findes, returnerer den standardværdien.
  • containKey (K) - Kontrollerer, om den angivne nøgle K er til stede på kortet eller ej.
  • containValue (V) - Kontrollerer, om den angivne værdi V er til stede på kortet eller ej.
  • erstat (K, V) - Erstat værdien for nøglen K med den nye specificerede værdi V.
  • erstatte (K, oldValue, newValue) - Erstatter værdien af ​​nøglen K med den nye værdi newValue kun, hvis nøglen K er knyttet til værdien oldValue.
  • remove (K) - Fjerner posten fra kortet repræsenteret af tasten K.
  • fjern (K, V) - Fjerner posten fra kortet, der har nøgle K tilknyttet værdi V.
  • keySet () - Returnerer et sæt af alle tasterne på et kort.
  • værdier () - Returnerer et sæt af alle de værdier, der findes på et kort.
  • entrySet () - Returnerer et sæt af al nøgle- / værdikortlægning, der findes på et kort.

Implementering af kortgrænsefladen

1. Implementering af HashMap-klasse

 import java.util.Map; import java.util.HashMap; class Main ( public static void main(String() args) ( // Creating a map using the HashMap Map 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); ) ) 

Produktion

 Kort: (Én = 1, To = 2) Taster: (Én, To) Værdier: (1, 2) Indtastninger: (Én = 1, To = 2) Fjernet værdi: 2 

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

2. Implementering af TreeMap-klasse

 import java.util.Map; import java.util.TreeMap; class Main ( public static void main(String() args) ( // Creating Map using TreeMap Map 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); ) ) 

Produktion

 Kort ved hjælp af TreeMap: (First = 1, Second = 2) New Map: (First = 11, Second = 22) Fjernet værdi: 11 

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

Interessante artikler...