Найти в Дзене
KOTLIN_IT

Урок №54 по Котлин. Словари

В словарях, в отличие от списков, элементы не упорядочены друг за другом. Для доступа к ним вместо индекса используется ключ.

Таким образом, сам элемент, который в случае словаря называют записью, состоит из двух компонентов – ключа и значения.

В пределах одного словаря записей с одинаковыми ключами быть не может. Однако могут быть записи с одинаковыми значениями.

Также как и в случае со списками в языке программирования Kotlin словари делятся на изменяемые и неизменяемые. Соответствующие им встроенные в Kotlin функции для создания словарей – mapOf() и mutableMapOf()

-2

При определении словаря с помощью функции mapOf() пары ключ-значение передаются через слово to. Первым идет ключ.

Чтобы извлечь значение по ключу, как и в случае массивов и списков можно использовать квадратные скобки. Однако вместо индекса в них записывается ключ.

-3

С помощью свойств keys, values и entries получают коллекции соответственно ключей, значений и записей.

-4

Вывод на экран будет таким:

-5

Обратим внимание на выражение (i, j) in e.

Каждый элемент множества e состоит из двух "подэлементов".

Первый играл в словаре роль ключа, второй – значения. Когда такой "двойной" элемент присваивается сразу двум переменным (в данном случае i и j), то происходит "распаковка", то есть первый подэлемент присваивается первой переменной, второй – второй.

Проверить вхождение определенных ключей и значений в словарь можно с помощью функций containsKey() и containsValue()

-6

С другой стороны, выражение ключ in словарь уже проверяет на вхождение ключа в словарь.

-7

При этом подобное выражение в заголовке for извлекает вовсе не ключ, а запись целиком, с ключом и значением.

В изменяемых словарях можно менять значения ключей, а также добавлять новые записи, как и удалять ненужные.

-8

Обратите внимание, изменение значения и добавление новой пары ключ-значение имеют одинаковый синтаксис – используются квадратные скобки, в которых записывается ключ, далее идет операция присваивания значения.

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