Перейти к основному содержимому

Коллекции

Коллекция — это тип, который содержит набор значений одного или различных типов и позволяет обращаться к этим значением. Можно выделить две группы коллекций по способу хранения данных: списки значений и словари (наборы пар «ключ-значение»).

Базовые типы

В основе всей иерархии типов, предназначенных для работы с коллекциями, лежит тип Обходимое<ТипЭлемента>.

Следующими в иерархии расположены типы ЧитаемаяКоллекция<ТипЭлемента> и ЧитаемоеСоответствие<ТипКлюча,ТипЗначения>. Эти типы реализуют базовый контракт, необходимый для работы со списком экземпляров и со словарем.

Фиксированные и обычные коллекции

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

  • типы, которые не предоставляют возможность изменять свой состав (фиксированные коллекции);
  • типы, которые предоставляют возможность изменить свой состав (обычные коллекции).

Типы для работы с коллекциями

В языке существуют следующие типы для работы с коллекциями:

Методы последовательной обработки коллекций

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

Методы делятся на последовательные и терминальные. К последовательным методам относятся те, которые могут применяться к потоку данных несколько раз без его завершения. Они не меняют элементы последовательности или возвращают новую последовательность с результатами. Например, Преобразовать(), Фильтровать(), Сортировать(), ДляКаждого(). К терминальным методам относятся методы, которые применяются к потоку только один раз и возвращают результат. Это такие методы, как ВМассив(), НетСоответствий(), ПосчитатьРазмер().

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