Интерфейс на Java Map

В този урок ще научим за интерфейса Java Map и неговите методи.

В Mapинтерфейса на колекции рамките на Java предоставя функционалност на структурата на картата данни.

Работа на Карта

В Java елементите на Mapсе съхраняват в двойки ключ / стойност . Ключовете са уникални стойности, свързани с отделни Стойности .

Картата не може да съдържа дублирани ключове. И всеки ключ е свързан с една стойност.

Можем да осъществяваме достъп и да променяме стойности, като използваме свързаните с тях ключове.

В горната диаграма имаме стойности: САЩ, Бразилия и Испания. И ние имаме съответни ключове: us, br и es.

Сега можем да получим достъп до тези стойности, като използваме съответните им ключове.

Забележка: В Mapинтерфейса поддържа 3 различни групи:

  • набор от ключове
  • множеството от стойности
  • набор от асоциации ключ / стойност (картографиране).

Следователно можем да имаме достъп до ключове, стойности и асоциации поотделно.

Класове, които прилагат Map

Тъй като Mapе интерфейс, не можем да създаваме обекти от него.

За да използваме функционалностите на Mapинтерфейса, можем да използваме следните класове:

  • HashMap
  • EnumMap
  • LinkedHashMap
  • WeakHashMap
  • TreeMap

Тези класове са дефинирани в рамката на колекциите и изпълняват Mapинтерфейса.

Подкласове на Java Map

Интерфейси, които разширяват Map

В Mapинтерфейса също се удължава с тези subinterfaces:

  • SortedMap
  • NavigableMap
  • ConcurrentMap
Подинтерфейси на Java Map

Как да използвам Map?

В Java трябва да импортираме java.util.Mapпакета, за да го използваме Map. След като импортираме пакета, ето как можем да създадем карта.

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

В горния код създадохме Mapимена на числата. Използвахме HashMapкласа за реализиране на Mapинтерфейса.

Тук,

  • Ключ - уникален идентификатор, използван за свързване на всеки елемент (стойност) в карта
  • Стойност - елементи, свързани с ключове в карта

Методи на картата

В Mapинтерфейса включва всички методи на Collectionинтерфейса. Това е така, защото Collectionе супер интерфейс на Map.

Освен наличните в Collectionинтерфейса методи , Mapинтерфейсът включва и следните методи:

  • put (K, V) - Вмъква асоциирането на ключ K и стойност V в картата. Ако ключът вече присъства, новата стойност замества старата стойност.
  • putAll () - Вмъква всички записи от посочената карта в тази карта.
  • putIfAbsent (K, V) - Вмъква асоциацията, ако ключът K вече не е свързан със стойността V.
  • get (K) - Връща стойността, свързана с посочения ключ K. Ако ключът не бъде намерен, той се връща null.
  • getOrDefault (K, defaultValue) - Връща стойността, свързана с посочения ключ K. Ако ключът не е намерен, той връща defaultValue.
  • containsKey (K) - Проверява дали посоченият ключ K присъства в картата или не.
  • containsValue (V) - Проверява дали посочената стойност V присъства в картата или не.
  • замени (K, V) - Заменете стойността на ключа K с новата посочена стойност V.
  • replace (K, oldValue, newValue) - Заменя стойността на ключа K с новата стойност newValue само ако ключът K е свързан със стойността oldValue.
  • remove (K) - Премахва записа от картата, представен с клавиша K.
  • премахване (K, V) - Премахва записа от картата, който има ключ K, свързан със стойност V.
  • keySet () - Връща набор от всички ключове, присъстващи в карта.
  • values ​​() - Връща набор от всички стойности, присъстващи в карта.
  • entrySet () - Връща набор от всички съпоставяния ключ / стойност, присъстващи в карта.

Внедряване на интерфейса на картата

1. Внедряване на клас 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); ) ) 

Изход

 Карта: (Едно = 1, Две = 2) Ключове: (Едно, Две) Стойности: (1, 2) Записи: (Едно = 1, Две = 2) Премахната стойност: 2 

За да научите повече за HashMap, посетете Java HashMap.

2. Внедряване на клас 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); ) ) 

Изход

 Карта, използваща TreeMap: (First = 1, Second = 2) Нова карта: (First = 11, Second = 22) Премахната стойност: 11 

За да научите повече за TreeMap, посетете Java TreeMap.

Интересни статии...