Interfejs mapy Java

W tym samouczku poznamy interfejs Java Map i jego metody.

MapInterfejs zbiorach ramach Java zapewnia funkcjonalność struktury danych map.

Działanie mapy

W Javie elementy Mapsą przechowywane w parach klucz / wartość . Klucze to unikalne wartości powiązane z poszczególnymi Wartościami .

Mapa nie może zawierać zduplikowanych kluczy. Każdy klucz jest powiązany z jedną wartością.

Możemy uzyskiwać dostęp i modyfikować wartości za pomocą skojarzonych z nimi kluczy.

Na powyższym diagramie mamy wartości: Stany Zjednoczone, Brazylia i Hiszpania. Mamy odpowiednie klucze: nas, br i es.

Teraz możemy uzyskać dostęp do tych wartości za pomocą odpowiednich kluczy.

Uwaga:Map interfejs utrzymuje 3 różne zestawy:

  • komplet kluczy
  • zbiór wartości
  • zestaw powiązań klucz / wartość (mapowanie).

Dlatego możemy indywidualnie uzyskać dostęp do kluczy, wartości i skojarzeń.

Klasy implementujące Map

Ponieważ Mapjest to interfejs, nie możemy tworzyć z niego obiektów.

W celu wykorzystania funkcjonalności Mapinterfejsu możemy skorzystać z następujących klas:

  • HashMap
  • EnumMap
  • LinkedHashMap
  • WeakHashMap
  • TreeMap

Te klasy są zdefiniowane w ramach kolekcji i implementują Mapinterfejs.

Podklasy map Java

Interfejsy rozszerzające Map

MapInterfejs jest również przedłużony o tych podinterfejsów:

  • SortedMap
  • NavigableMap
  • ConcurrentMap
Podinterfejsy mapy Java

Jak korzystać z mapy?

W Javie musimy zaimportować java.util.Mappakiet, aby użyć Map. Po zaimportowaniu pakietu, oto jak możemy stworzyć mapę.

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

W powyższym kodzie utworzyliśmy Mapnazwane liczby. Użyliśmy tej HashMapklasy do zaimplementowania Mapinterfejsu.

Tutaj,

  • Klucz - unikalny identyfikator służący do powiązania każdego elementu (wartości) na mapie
  • Wartość - elementy skojarzone z kluczami w mapie

Metody mapowania

MapInterfejs obejmuje wszystkie sposoby przez Collectioninterfejs. To dlatego, że Collectionjest super interfejsem Map.

Oprócz metod dostępnych w Collectioninterfejsie, Mapinterfejs zawiera również następujące metody:

  • put (K, V) - Wstawia skojarzenie klucza K i wartości V do mapy. Jeśli klucz jest już obecny, nowa wartość zastępuje starą wartość.
  • putAll () - wstawia wszystkie wpisy z określonej mapy do tej mapy.
  • putIfAbsent (K, V) - Wstawia skojarzenie, jeśli klucz K nie jest już powiązany z wartością V.
  • get (K) - zwraca wartość skojarzoną z określonym kluczem K. Jeśli klucz nie zostanie znaleziony, zwraca null.
  • getOrDefault (K, defaultValue) - zwraca wartość skojarzoną z określonym kluczem K. Jeśli klucz nie zostanie znaleziony, zwraca wartość defaultValue.
  • zawieraKlucz (K) - sprawdza, czy określony klucz K jest obecny na mapie, czy nie.
  • zawieraValue (V) - sprawdza, czy określona wartość V jest obecna na mapie, czy nie.
  • replace (K, V) - Zamień wartość klucza K na nową określoną wartość V.
  • replace (K, oldValue, newValue) - zastępuje wartość klucza K nową wartością newValue tylko wtedy, gdy klucz K jest skojarzony z wartością oldValue.
  • remove (K) - usuwa wpis z mapy reprezentowany przez klawisz K.
  • remove (K, V) - usuwa wpis z mapy, dla którego klucz K jest powiązany z wartością V.
  • keySet () - Zwraca zestaw wszystkich kluczy obecnych na mapie.
  • wartości () - zwraca zestaw wszystkich wartości obecnych na mapie.
  • entrySet () - zwraca zestaw wszystkich mapowań klucz / wartość obecnych w mapie.

Implementacja interfejsu mapy

1. Implementacja klasy 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); ) ) 

Wynik

 Mapa: (jeden = 1, dwa = 2) Klucze: (jeden, dwa) Wartości: (1, 2) Wpisy: (jeden = 1, dwa = 2) Usunięta wartość: 2 

Aby dowiedzieć się więcej HashMap, odwiedź witrynę Java HashMap.

2. Implementacja klasy 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); ) ) 

Wynik

 Mapowanie za pomocą TreeMap: (Pierwsza = 1, Druga = 2) Nowa mapa: (Pierwsza = 11, Druga = 22) Usunięta wartość: 11 

Aby dowiedzieć się więcej TreeMap, odwiedź Java TreeMap.

Interesujące artykuły...