Kotlin Collection Functions Cheat Sheet — большая шпаргалка по функциям Kotlin для работы с коллекциями.
РЕКОМЕНДУЕМ:
Полезные советы разработчику на языке Kotlin
Шпаргалка по коллекциям Kotlin
Наиболее интересные моменты:
- Кроме стандартных списков, хешмапов и сетов, в Kotlin также есть такие типы коллекций, как linkedMap, linkedSet, sortedMap и sortedSet. По сути, это аналоги тех же сетов и хешмапов, но с функциями сохранения последовательности элементов (linked) или автоматической сортировкой (sorted).
- Кроме функций для создания коллекций, в языке также есть ряд функций для их копирования. Например, кроме стандартного метода copyOf, также доступны методы copyInto — скопировать все элементы в другой массив, copyOfRange — скопировать диапазон элементов и toCollection — скопировать все элементы в другую коллекцию.
- При присвоении коллекций можно использовать методы для возврата дефолтных значений: ifEmpty — вернуть дефолтное значение, если коллекция пуста; orEmpty — вернуть пустую коллекцию, если текущая коллекция равна null; requireNoNulls — выбрасывает исключение IllegalArgumentException, если все элементы коллекции равны null; listOfNotNull — исключение, если хотя бы один из элементов равен null.
- Функции toIntArray и asIntArray (а также все остальные функции с аналогичными именами) различаются тем, что первая создает список с новыми элементами на основе оригинального списка, а вторая создает список элементов — ссылок на элементы оригинального списка.
- Запись map.toList() эквивалентна записи map.entries.map { it.toPair() }.
- Чтобы обратиться к элементам списка (List) по индексам, можно использовать функцию withIndex.
- Большая часть функций-модификаторов списков имеет эквивалент, не изменяющий список. Например, у функции add, добавляющей элемент в список, есть эквивалентная функция plus, которая возвращает новый список с добавленным элементом. Другие примеры: removeFirst — drop, removeLast — dropLast.
- Kotlin позволяет объединять коллекции несколькими способами. Например, union создает новую коллекцию, в которой присутствуют только уникальные элементы двух коллекций, intersect — новая коллекция с элементами, которые присутствуют в обеих коллекциях, substract — коллекция элементов, присутствующих только в первом списке. Функция zip возвращает коллекцию, каждый элемент которой включает элементы из первой и второй коллекции с одинаковым индексом.
- Кроме всем известного метода map, предназначенного для преобразования коллекции элементов одного типа в коллекцию элементов другого типа, существуют и другие функции: aggregate — объединение нескольких элементов, associate — связывание элемента с каким-либо значением, groupBy — группировка элементов, flatten — преобразование многомерных коллекций в одномерные, chunked — разбивка по категориям.

Другие статьи на тему Kotlin:
- Основы функционального программирования на Kotlin
- Хорошие и плохие приемы программирования на Kotlin