В этом руководстве мы узнаем об интерфейсе 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.