Найти тему
KOTLIN_IT

Урок №58 по Котлин. Глоссарий № 4. Коллекции

Оглавление

Коллекция — структура данных, содержащая в себе набор значений одного или нескольких типов, к которым можно обращаться.

Коллекции разделяют на группы по следующим характеристикам.

  • Возможность изменения начального набора данных.
  • Возможность хранения одного или нескольких типов данных.
  • Способ организации данных и доступа к ним.
По способу организации коллекции делятся на несколько видов: Array — массив; List — список; Set — множество; Map — ассоциативный массив, представление, словарь.

Массив (Array) — структура данных фиксированного размера, в памяти которой последовательно хранятся элементы одного типа.

Для создания массивов используется функция

arrayOf: var myArray = arrayOf(1, 2, 3)

  • При обращении к элементу массива указывается его индекс:
  • Например myArray[0].
  • Первый элемент в массиве имеет индекс 0.
  • Для получения размера массива используется конструкция myArray.size.
  • Компилятор определяет тип массива по значениям его элементов. Вы также можете явно определить тип массива: var myArray: Array.
  • Если массив определяется ключевым словом val, вы все равно можете определять элементы в массиве.

Список (List) — структура данных переменного размера, в памяти которой последовательно хранятся элементы одного типа.

Связный список (LinkedList) — список, в котором каждый элемент имеет ссылки на предыдущий и следующий элементы.

Очередь (Queue) — структура данных, работающая по принципу «первый вошёл — первый вышел». Элементы добавляются в конец очереди, а извлекаются из её начала.

Стек (Stack) — структура данных, работающая по принципу «последний вошёл — первый вышел».

Представление, ассоциативный массив, словарь (Map) — структура данных, которая хранит элементы в виде пар ключ — значение. Основные реализации — HashMap, LinkedHashMap, TreeMap.

HashMap — основана на хеш-таблице. Элементы хеш-таблицы представляет собой пары ключ — значение.

LinkedHashMap — расширяет функциональность HashMap.

TreeMap — коллекция, хранящая пары ключ — значение, которые отсортированы по значениям ключа.

Множество (Set) — структура данных, которая хранит набор уникальных значений. Для HashSet использует HashMap, для LinkedHashSet — LinkedHashMap, для TreeSet — Treemap