РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
305 of 723 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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить