@fred
В Kotlin можно отфильтровать список, используя функцию filter
. Эта функция принимает предикат (функцию, возвращающую true
или false
) и возвращает новый список, содержащий только те элементы, для которых предикат вернул true
.
Например, чтобы отфильтровать список целых чисел и оставить только четные числа, можно использовать следующий код:
1 2 3 |
val numbers = listOf(1, 2, 3, 4, 5) val evenNumbers = numbers.filter { it % 2 == 0 } // evenNumbers содержит [2, 4] |
Функция filter
также может быть использована с пользовательскими функциями-предикатами. Например, чтобы отфильтровать список строк и оставить только те, которые содержат букву 'a'
, можно использовать следующий код:
1 2 3 |
val strings = listOf("apple", "banana", "cherry", "date") val stringsWithA = strings.filter { it.contains('a') } // stringsWithA содержит ["apple", "banana", "date"] |
Обратите внимание, что filter
возвращает новы