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

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

Конструктор unmodifiable класса List создает неизменяемый список на основе переданной коллекции. В первый параметр мы передаем коллекцию (список, множество или любую другую итерируемую коллекцию), элементы которой нужно скопировать в новый список. Полученный список нельзя изменять: нельзя добавлять, удалять или заменять элементы. При попытке изменить такой список будет выброшено исключение UnsupportedError.

Синтаксис

List.unmodifiable(collection)

Пример

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

void main() { List<String> original = ['a', 'b', 'c', 'd', 'e']; List<String> res = List.unmodifiable(original); print(res); }

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

[a, b, c, d, e]

Пример

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

void main() { List<int> original = [1, 2, 3, 4, 5]; List<int> res = List.unmodifiable(original); res.add(6); }

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

UnsupportedError (Unsupported operation: Cannot add to an unmodifiable list)

Пример

Давайте создадим неизменяемый список из множества и проверим, что исходная коллекция не влияет на него:

void main() { Set<String> original = {'a', 'b', 'c'}; List<String> res = List.unmodifiable(original); original.add('d'); print(original); print(res); }

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

{a, b, c, d} [a, b, c]

Пример

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

void main() { List<String> res = List.unmodifiable(['12345', 'abcde']); print(res[0]); print(res.length); }

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

"12345" 2

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

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