Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
306 of 724 menu
◀ ▶

Конструктор identity класса Map

Конструктор identity класса Map создает новую Map, в которой каждый ключ равен своему значению. Это удобно, когда нужно быстро построить коллекцию, где элементы ссылаются сами на себя. Конструктор не принимает обязательных параметров. Дополнительно можно передать именованный параметр equals для сравнения ключей и hashCode для вычисления хеш-кода. По умолчанию используется стандартное сравнение и хеширование.

Синтаксис

Map.identity({bool equals(K a, K b)?, int hashCode(K key)?})

Пример

Давайте создадим Map с помощью конструктора identity и выведем ее содержимое:

void main() { Map<String, String> map = Map.identity(); map['a'] = 'a'; map['b'] = 'b'; map['c'] = 'c'; print(map); }

Результат выполнения кода:

{a: a, b: b, c: c}

Пример

Давайте создадим Map на основе списка строк, где каждая строка будет и ключом, и значением:

void main() { List<String> list = ['abcde', '12345']; Map<String, String> map = Map.identity(); for (String item in list) { map[item] = item; } print(map); }

Результат выполнения кода:

{abcde: abcde, 12345: 12345}

Пример

Давайте проверим, что ключ и значение действительно совпадают:

void main() { Map<int, int> map = Map.identity(); map[1] = 1; map[2] = 2; map[3] = 3; for (var entry in map.entries) { print('Key: ${entry.key}, Value: ${entry.value}'); } }

Результат выполнения кода:

"Key: 1, Value: 1" "Key: 2, Value: 2" "Key: 3, Value: 3"

Смотрите также

  • класс Map,
    который представляет собой коллекцию пар ключ-значение
  • конструктор from,
    который создает Map из другой Map
  • конструктор of,
    который создает Map из пар ключ-значение
  • конструктор fromIterable,
    который создает Map из итерируемого объекта
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить