English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве мы изучим интерфейс Java Map и его методы.
Интерфейс Map в фреймворке Java Collections предоставляет функции структуры данных Map.
Он реализует интерфейс Collection.
В Java элементы Map хранятся в парах ключ/значение. Ключ - это уникальное значение, связанное с каждым значением.
Сборники Map не могут содержать повторяющиеся ключи. И каждый ключ связан с одним значением.
Мы можем использовать связанные с ними ключи для доступа и изменения значений.
На рисунке выше у нас есть значения: Соединенные Штаты, Бразилия и Испания. У нас есть соответствующие ключи: us, br и es.
Теперь мы можем использовать соответствующие ключи для доступа к этим значениям.
Примечание:Интерфейс Map поддерживает три различных集合:
Сборник ключей
Сборник значений
Сборники ключ/значение (сборники Map)
Таким образом, мы можем отдельно обращаться к ключам, значениям и связям.
Поскольку Map является интерфейсом, из него нельзя создать объект.
Для использования функций интерфейса Map мы можем использовать следующие классы:
Эти классы определены и реализуют интерфейс Map в рамке集合ов.
Интерфейс Map также наследуется следующими подинтерфейсами:
В Java我们必须 импортировать пакет java.util.Map, чтобы использовать Map. После импорта пакета, map можно создать следующим образом.
// Создание Map с помощью класса HashMap Map<Key, Value> numbers = new HashMap<>();
В上面的 коде мы создали Map под названием numbers. Мы использовали класс HashMap для реализации интерфейса Map.
Здесь,
Key - уникальный идентификатор, используемый для связи каждого элемента (значения) в map
Value - элемент, связанный с ключом в map
Интерфейс Map включает все методы интерфейса Collection. Это связано с тем, что Collection является супέρ-интерфейсом Map.
Кроме методов, доступных в интерфейсе Collection, интерфейс Map также включает следующие методы:
put(K,V) - Вставляет ассоциацию ключа K и значения V в map. Если ключ уже существует, то новое значение заменяет старое.
putAll() - Вставляет все элементы из указанного набора Map в этот набор Map.
putIfAbsent(K,V) - Вставляет ассоциацию V, если ключ K еще не связан с значением.
get(K) - Возвращает значение, связанное с указанным ключом K. Если ключ не найден,则在озвращает null.
getOrDefault(K,defaultValue) - Возвращает значение, связанное с указанным ключом K. Если ключ не найден,则在озвращает defaultValue.
containsKey(K) - Проверяет, существует ли указанный ключ K в map.
containsValue(V) - Проверяет, существует ли указанное значение V в map.
replace(K,V) - Заменяет значение ключа K новым значением V.
replace(K,oldValue,newValue) - Заменяет значение ключа K новым значением newValue только в том случае, если текущее значение ключа K равно oldValue.
remove(K) - Удаляет запись из набора Map, представляющую ключ K.
remove(K,V) - Удаляет из набора Map запись, связанную с ключом K и значением V.
keySet() - Возвращает набор всех ключей, существующих в наборе Map.
values() - Возвращает набор всех значений, содержащихся в наборе Map.
entrySet() - возвращает набор всех существующих в карте ключ/значение пар.
1. Реализация класса HashMap
import java.util.Map; import java.util.HashMap; class Main { public static void main(String[] args) { // создание карты с использованием класса HashMap Map<String, Integer> numbers = new HashMap<>(); // вставка элементов в множество карты numbers.put("One", 1); numbers.put("Two", 2); System.out.println("Карта: " + numbers); // ключи карты System.out.println("Keys: " + numbers.keySet()); // значения карты System.out.println("Values: " + numbers.values()); // элементы карты System.out.println("Энtries: " + numbers.entrySet()); //Удаление элемента из коллекции map int value = numbers.remove("Two"); System.out.println("Удаленное значение: " + value); } }
Результат вывода
Карта: {One=1, Two=2} Keys: [One, Two] Values: [1, 2] Энtries: [One=1, Two=2] Удаленное значение: 2
Для получения дополнительной информации о HashMap, пожалуйста, посетитеHashMap Java.
2. Реализация класса TreeMap
import java.util.Map; import java.util.TreeMap; class Main { public static void main(String[] args) { // создание карты с использованием TreeMap Map<String, Integer> values = new TreeMap<>(); // вставка элементов в карту values.put("Second", 2); values.put("First", 1); System.out.println("Использование TreeMap для создания карты: " + values); // замена значений values.replace("First", 11); values.replace("Second", 22); System.out.println("Новый Map: " + values); //Удаление элемента из коллекции map int removedValue = values.remove("First"); System.out.println("Удаленное значение: " + removedValue); } }
Результат вывода
Создание map с использованием TreeMap: {First=1, Second=2} Новый Map: {First=11, Second=22} Удаленное значение: 11
Для получения дополнительной информации о TreeMap, пожалуйста, посетитеJava TreeMap.