... > Kotlin > Функциональное программирование и...

Функциональное программирование и коллекции в Kotlin

НАВИГАЦИЯ ПО СТРАНИЦЕ

Функции высшего порядка для коллекций Map Filter Reduce Комбинированные операции

В Kotlin, коллекции эффективно интегрированы с функциональным программированием, предоставляя множество операций высшего порядка, таких как map, filter, и reduce. Давайте рассмотрим, как использовать функции высшего порядка для коллекций в Kotlin.

Функции высшего порядка для коллекций

Map
val numbers = listOf(1, 2, 3, 4, 5)

val squaredNumbers = numbers.map { it * it }
// squaredNumbers = [1, 4, 9, 16, 25]

Функция map применяет заданное лямбда-выражение ко всем элементам коллекции, создавая новую коллекцию с результатами операций.

Filter
val evenNumbers = numbers.filter { it % 2 == 0 }
// evenNumbers = [2, 4]

Функция filter создает новую коллекцию, включая только те элементы, которые удовлетворяют заданному условию в лямбда-выражении.

Reduce
val sum = numbers.reduce { acc, number -> acc + number }
// sum = 15

Функция reduce объединяет элементы коллекции с использованием бинарной операции, определенной в лямбда-выражении.

Комбинированные операции

val result = numbers
    .filter { it % 2 == 0 }      // фильтрация четных чисел
    .map { it * it }              // возведение в квадрат
    .reduce { acc, number -> acc + number }  // суммирование
// result = 20

Здесь мы объединяем операции filter, map и reduce для создания цепочки операций над коллекцией.

Функциональное программирование с использованием коллекций в Kotlin обеспечивает чистый и выразительный код, позволяя легко манипулировать данными и применять различные операции к коллекциям.