null, если элемент не найден.">
Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
392 of 1310 menu
В течении недели будет ОБНОВЛЕНИЕ УЧЕБНИКОВ PHP. Поменяется структура! Подробнее по ссылке.

Функция find

Функция find выполняет поиск первого элемента в коллекции, который соответствует заданному предикату (условию поиска). Если элемент найден, функция возвращает его, в противном случае возвращает null.

Функция принимает один параметр - предикат в виде лямбда-выражения, которое определяет условие поиска. Элемент передается в предикат как параметр it или через явное имя.

Импорт

import kotlin.collections.find

Синтаксис

// Для Iterable (List, Set) inline fun <T> Iterable<T>.find(predicate: (T) -> Boolean): T?
// Для Array inline fun <T> Array<T>.find(predicate: (T) -> Boolean): T?
// Для Map inline fun <K, V> Map<K, V>.find(predicate: (Map.Entry<K, V>) -> Boolean): Map.Entry<K, V>?

Поддерживаемые типы коллекций

Функция find работает со следующими типами коллекций:

  • Array - массивы
  • List - списки
  • Set - множества
  • Map - словари (ассоциативные массивы)
  • Iterable - любые итерируемые коллекции
  • Sequence - последовательности

Пример

Найдем первый четный элемент в списке чисел:

val numbers = listOf(1, 3, 5, 2, 4, 6) val res = numbers.find { it % 2 == 0 } println(res)

Результат выполнения кода:

Int 2

Пример

Найдем первый элемент, начинающийся с буквы 'c' в массиве строк:

val letters = arrayOf("a", "b", "c", "d", "e") val res = letters.find { it.startsWith("c") } println(res)

Результат выполнения кода:

String "c"

Пример

Найдем первую запись в словаре, где значение больше 30:

val ages = mapOf("John" to 25, "Alice" to 30, "Bob" to 35) val res = ages.find { it.value > 30 } println(res)

Результат выполнения кода:

Bob=35

Пример

Поиск элемента, которого нет в коллекции (возврат null):

val numbers = listOf(1, 2, 3, 4, 5) val res = numbers.find { it > 10 } println(res)

Результат выполнения кода:

null

Пример

Использование явного имени параметра вместо it:

val numbers = setOf(10, 20, 30, 40, 50) val res = numbers.find { number -> number > 25 } println(res)

Результат выполнения кода:

Int 30

Смотрите также

  • функцию findLast,
    которая ищет последний элемент, удовлетворяющий условию
  • функцию firstOrNull,
    которая возвращает первый элемент или null
  • функцию filter,
    которая возвращает все элементы, удовлетворяющие условию
  • функцию any,
    которая проверяет, существует ли хотя бы один элемент, удовлетворяющий условию