Junior
32
0
questionbank

Какие функции для работы с коллекциями предоставляет язык Kotlin?

Answer from sobes.tech neural network

Kotlin предлагает обширный набор функций расширения для работы с коллекциями, которые делают код более лаконичным и читаемым. Их можно условно разделить на следующие категории:

1. Фильтрация:

  • filter/filterNot: Возвращает список элементов, соответствующих/не соответствующих предикату.
  • filterNotNull: Возвращает список всех ненулевых элементов.
  • filterIsInstance<T>: Возвращает список всех элементов, являющихся экземплярами типа T.

2. Преобразование (Mapping):

  • map/mapIndexed: Преобразует каждый элемент коллекции в новый элемент. mapIndexed также получает индекс элемента.
  • mapNotNull/mapIndexedNotNull: Преобразует каждый элемент, отбрасывая null.
  • flatMap: Преобразует каждый элемент в коллекцию и объединяет их в одну плоскую коллекцию.
  • zip: Создает коллекцию пар из элементов двух коллекций с одинаковыми индексами.

3. Агрегация (Reducing):

  • reduce/fold: Применяет операцию к последовательным элементам коллекции, накапливая результат. fold принимает начальное значение.
  • sum, average, count, max, min: Базовые агрегирующие функции.

4. Упорядочивание:

  • sorted/sortedDescending: Возвращает отсортированную коллекцию.
  • sortedBy/sortedByDescending: Возвращает отсортированную коллекцию по результату применения функции-селектора.
  • reversed: Возвращает список в обратном порядке.
  • shuffled: Возвращает перемешанный список.

5. Получение элементов:

  • first/firstOrNull: Возвращает первый элемент.
  • last/lastOrNull: Возвращает последний элемент.
  • find/findLast: Возвращает первый/последний элемент,

Kotlin предлагает обширный набор функций расширения для работы с коллекциями, которые делают код более лаконичным и читаемым. Их можно условно разделить на следующие категории:

1. Фильтрация:

  • filter/filterNot: Возвращает список элементов, соответствующих/не соответствующих предикату.
  • filterNotNull: Возвращает список всех ненулевых элементов.
  • filterIsInstance<T>: Возвращает список всех элементов, являющихся экземплярами типа T.

2. Преобразование (Mapping):

  • map/mapIndexed: Преобразует каждый элемент коллекции в новый элемент. mapIndexed также получает индекс элемента.
  • mapNotNull/mapIndexedNotNull: Преобразует каждый элемент, отбрасывая null.
  • flatMap: Преобразует каждый элемент в коллекцию и объединяет их в одну плоскую коллекцию.
  • zip: Создает коллекцию пар из элементов двух коллекций с одинаковыми индексами.

3. Агрегация (Reducing):

  • reduce/fold: Применяет операцию к последовательным элементам коллекции, накапливая результат. fold принимает начальное значение.
  • sum, average, count, max, min: Базовые агрегирующие функции.

4. Упорядочивание:

  • sorted/sortedDescending: Возвращает отсортированную коллекцию.
  • sortedBy/sortedByDescending: Возвращает отсортированную коллекцию по результату применения функции-селектора.
  • reversed: Возвращает список в обратном порядке.
  • shuffled: Возвращает перемешанный список.

5. Получение элементов:

  • first/firstOrNull: Возвращает первый элемент.
  • last/lastOrNull: Возвращает последний элемент.
  • find/findLast: Возвращает первый/последний элемент,

Register or sign in to get access to full answers for all questions from the question bank.

kotlincollectionslistsetmapsequenceshigherOrderFunctions