Інтерфейс 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Інтерфейс також поширюється цими подинтерфейсах:

  • SortedMap
  • NavigableMap
  • ConcurrentMap
Субінтерфейси Java 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 присутнє на карті чи ні.
  • replace (K, V) - Замініть значення ключа K новим заданим значенням V.
  • replace (K, oldValue, newValue) - Замінює значення ключа K новим значенням newValue, лише якщо ключ K пов'язаний зі значенням oldValue.
  • remove (K) - Видаляє запис із карти, представлений клавішею K.
  • remove (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: (Перша = 1, Друга = 2) Нова карта: (Перша = 11, Друга = 22) Видалене значення: 11 

Щоб дізнатись більше про це TreeMap, відвідайте Java TreeMap.

Цікаві статті...