Map – набор (ключ, значение)

Map (карта) — это набор пар ключ/значение, где каждый ключ уникален и может быть связан только с одним значением. Однако одно и то же значение может быть связано с несколькими ключами. Map – это некое подобие принципа базы данных, где данные привязываются к уникальному ключу, и из любого списка потом можно получать данные по ключу. Мы можем объявить ключи и значения любого типа, ограничений нет. Map также известны как словари или ассоциативные массивы в других языках программирования.

Map может быть либо изменяемой mutableMapOf, либо доступной только для чтения mapOf.

Создание Map

Для создания map используйте стандартные библиотечные функции: mapOf() для карт только для чтения и mutableMapOf() для изменяемых карт.

HashMap<>() для создания map

Map может быть создана из HashMap языка Java.

Pair() для создания map

Мы можем использовать метод Pair() для создания пар ключ/значение:

Свойства

Map имеет свойства для получения всех записей, ключей и значений.

toString() для перебора

Существуют различные способы циклического перебора Maps. Давайте изучим их:

Итератор для перебора

Цикл for для перебора

forEach для перебора

size — размер карты

Мы можем использовать свойство size или метод count() , чтобы получить общее количество элементов в карте:

containsKey() и containsValue() – проверка ключа, значения

Метод containsKey() проверяет, содержит ли карта ключ. Метод containsValue() проверяет, содержит ли карта значение.

isEmpty() метод

Метод isEmpty() возвращает true, если коллекция пуста (не содержит элементов), иначе false.

get() метод

Метод get() можно использовать для получения значения, соответствующего данному ключу. Также поддерживается сокращенный синтаксис [key] .

Также есть функция getValue() , поведение которой немного отличается: она выдает исключение, если ключ не найден в карте.

+ Добавление карты

Мы можем использовать оператор + , чтобы добавить две или более карт в один набор.
 Это добавит вторую карту в первую карту, отбросив повторяющиеся элементы. Если на двух картах есть повторяющиеся ключи, то ключ второй карты будет изменён на ключ из первой карты.

— Вычитание карт

Мы можем использовать оператор для вычитания списка из карты. Эта операция удалит все ключи списка с карты и вернет результат.

remove() – удаление записей

Мы можем использовать метод remove() , чтобы удалить элемент из изменяемой карты, или мы можем использовать оператор (-=) для выполнения той же операции.

toSortedMap() – сортировка элементов

Мы можем использовать метод toSortedMap() для сортировки элементов в порядке возрастания или метод sortedDescending() для сортировки элементов набора в порядке убывания. Вы также можете создать отсортированную карту с заданными ключами/значениями, используя метод sortedMapOf() . Просто используйте этот метод вместо mapOf() .

filterKeys() и filterValues()

Мы можем использовать метод filterKeys() или filterValues() для фильтрации записей. Мы также можем использовать метод filter() для фильтрации элементов, соответствующих и ключу и значению.

map() — сопоставление элементов списка

Мы можем использовать метод map() для сопоставления всех элементов с помощью предоставленной функции.

Изменяемая карта

Мы можем создать изменяемый набор с помощью mutableMapOf() , позже мы можем использовать put для добавления дополнительных элементов в ту же карту, и мы можем использовать метод remove() для удаления элементов из набора.

Поделись с друзьями:
Если вам понравилась статья, подписывайтесь на наши социальные сети.

Оставьте комментарий

четыре × один =