Sučelje Java Map

U ovom uputstvu naučit ćemo o sučelju Java Map i njegovim metodama.

MapSučelje Java zbirki okvira pruža funkcionalnost strukture karta podataka.

Rad karte

U Javi se elementi Mappohranjuju u parovima ključ / vrijednost . Ključevi su jedinstvene vrijednosti povezane s pojedinačnim vrijednostima .

Karta ne može sadržavati duplicirane ključeve. I, svaki je ključ povezan s jednom vrijednošću.

Vrijednostima možemo pristupiti i mijenjati ih pomoću tipki povezanih s njima.

U gornjem dijagramu imamo vrijednosti: Sjedinjene Države, Brazil i Španjolska. I mi imamo odgovarajuće ključeve: mi, br i es.

Sada tim vrijednostima možemo pristupiti pomoću odgovarajućih ključeva.

Napomena:Map sučelje održava 3 različita seta:

  • skup ključeva
  • skup vrijednosti
  • skup asocijacija ključ / vrijednost (mapiranje).

Stoga ključevima, vrijednostima i asocijacijama možemo pristupiti pojedinačno.

Razredi koji implementiraju Map

Budući da Mapje sučelje, od njega ne možemo stvarati objekte.

Da bismo koristili funkcionalnosti Mapsučelja, možemo koristiti ove klase:

  • HashMap
  • EnumMap
  • LinkedHashMap
  • WeakHashMap
  • TreeMap

Te su klase definirane u okviru zbirki i implementiraju Mapsučelje.

Podrazredi Java mape

Sučelja koja proširuju Map

MapSučelje je također produžen ovim subinterfaces:

  • SortedMap
  • NavigableMap
  • Istodobna karta
Podsučelja Java Map

Kako koristiti Map?

U Javi moramo uvesti java.util.Mappaket da bismo ga mogli koristiti Map. Nakon što uvozimo paket, evo kako možemo stvoriti kartu.

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

U gornjem kodu stvorili smo Mapimenovane brojeve. HashMapKlasu smo koristili za implementaciju Mapsučelja.

Ovdje,

  • Ključ - jedinstveni identifikator koji se koristi za povezivanje svakog elementa (vrijednosti) na karti
  • Vrijednost - elementi pridruženi ključevima na karti

Metode karte

MapSučelje uključuje sve metode iz Collectionsučelja. To je zato što Collectionje super sučelje Map.

Osim metoda dostupnih u Collectionsučelju, Mapsučelje također uključuje sljedeće metode:

  • put (K, V) - umeta pridruživanje ključa K i vrijednosti V na kartu. Ako je ključ već prisutan, nova vrijednost zamjenjuje staru vrijednost.
  • putAll () - na ovu kartu ubacuje sve unose s navedene karte.
  • putIfAbsent (K, V) - unosi asocijaciju ako ključ K već nije pridružen vrijednosti V.
  • get (K) - Vraća vrijednost povezanu s navedenim ključem K. Ako ključ nije pronađen, vraća se null.
  • getOrDefault (K, defaultValue) - Vraća vrijednost povezanu s navedenim ključem K. Ako ključ nije pronađen, vraća defaultValue.
  • containsKey (K) - Provjerava je li navedeni ključ K prisutan na karti ili nije.
  • containsValue (V) - Provjerava je li navedena vrijednost V prisutna na karti ili nije.
  • zamijeniti (K, V) - Zamijenite vrijednost ključa K novom specificiranom vrijednošću V.
  • replace (K, oldValue, newValue) - zamjenjuje vrijednost ključa K novom vrijednošću newValue samo ako je ključ K pridružen vrijednosti oldValue.
  • ukloni (K) - uklanja unos s karte predstavljen tipkom K.
  • ukloni (K, V) - Uklanja unos s karte koji ima ključ K povezan s vrijednošću V.
  • keySet () - Vraća skup svih tipki prisutnih na karti.
  • values ​​() - Vraća skup svih vrijednosti prisutnih na karti.
  • entrySet () - Vraća skup svih mapiranja ključa / vrijednosti prisutnih na mapi.

Implementacija sučelja karte

1. Implementacija klase HashMap

 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); ) ) 

Izlaz

 Karta: (Jedan = 1, Dva = 2) Tipke: (Jedan, dva) Vrijednosti: (1, 2) Unosi: (Jedan = 1, Dva = 2) Uklonjena vrijednost: 2 

Da biste saznali više o tome HashMap, posjetite Javu HashMap.

2. Implementacija klase TreeMap

 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); ) ) 

Izlaz

 Karta pomoću TreeMap: (Prva = 1, Druga = 2) Nova karta: (Prva = 11, Druga = 22) Uklonjena vrijednost: 11 

Da biste saznali više o tome TreeMap, posjetite Javu TreeMap.

Zanimljivi članci...