РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
306 of 723 menu

Конструктор unmodifiable

Конструктор unmodifiable класса Map создает неизменяемую карту. В первый параметр мы передаем исходную карту, на основе которой будет создана новая неизменяемая карта. После создания такую карту нельзя изменять: добавлять, удалять или изменять элементы. Любая попытка модификации приведет к ошибке.

Синтаксис

Map.unmodifiable(Map<K, V> other)

Пример

Давайте создадим неизменяемую карту на основе обычной карты и выведем ее содержимое:

void main() { Map<String, int> original = { 'a': 1, 'b': 2, 'c': 3 }; Map<String, int> res = Map.unmodifiable(original); print(res); }

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

{a: 1, b: 2, c: 3}

Пример

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

void main() { Map<String, int> original = { 'a': 1, 'b': 2 }; Map<String, int> res = Map.unmodifiable(original); res['c'] = 3; }

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

UnsupportedError (Unsupported operation: Cannot modify unmodifiable map)

Пример

Давайте проверим, что исходная карта остается изменяемой, а неизменяемая карта лишь копирует ее данные:

void main() { Map<String, int> original = { 'a': 1, 'b': 2 }; Map<String, int> res = Map.unmodifiable(original); original['c'] = 3; print(original); print(res); }

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

{a: 1, b: 2, c: 3} {a: 1, b: 2}

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

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