У цьому підручнику ми дізнаємося про інтерфейс Java Map та його методи.
Map
Інтерфейс рамок колекцій Java забезпечує функціональні структури даних карти.
Робота карти
У Java елементи Map
зберігаються в парах ключ / значення . Ключі - це унікальні значення, пов'язані з окремими значеннями .
Карта не може містити дублікатів ключів. І кожен ключ пов'язаний з одним значенням.
Ми можемо отримати доступ та змінити значення за допомогою ключів, пов’язаних із ними.
На наведеній вище схемі ми маємо значення: США, Бразилія та Іспанія. І у нас є відповідні ключі: us, br та es.
Тепер ми можемо отримати доступ до цих значень за допомогою відповідних ключів.
Примітка:Map
інтерфейс підтримує 3 різних наборів:
- набір ключів
- набір значень
- набір асоціацій ключ / значення (відображення).
Отже, ми можемо отримати доступ до ключів, значень та асоціацій індивідуально.
Класи, що реалізують Map
Оскільки Map
це інтерфейс, ми не можемо створювати з нього об'єкти.
Для того, щоб використовувати функціональні можливості Map
інтерфейсу, ми можемо використовувати такі класи:
- HashMap
- EnumMap
- LinkedHashMap
- WeakHashMap
- TreeMap
Ці класи визначаються в рамках колекцій та реалізують Map
інтерфейс.

Інтерфейси, що розширюють Map
Map
Інтерфейс також поширюється цими подинтерфейсах:
- SortedMap
- NavigableMap
- ConcurrentMap

Як користуватися картою?
У 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.