НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
390 of 1310 menu

Функция indexOfFirst

Функция indexOfFirst выполняет поиск первого элемента в коллекции, удовлетворяющего заданному условию, и возвращает его индекс. Если элемент не найден, возвращает -1. Функция принимает предикат в качестве параметра - лямбда-функцию, которая определяет условие поиска для каждого элемента.

Импорт

// Функция доступна без импорта для всех коллекций

Синтаксис

inline fun <T> Array<out T>.indexOfFirst( predicate: (T) -> Boolean ): Int
inline fun <T> Iterable<T>.indexOfFirst( predicate: (T) -> Boolean ): Int
inline fun <K, V> Map<out K, V>.indexOfFirst( predicate: (Entry<K, V>) -> Boolean ): Int

Пример

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

val numbers = arrayOf(1, 3, 5, 2, 4, 6) val index = numbers.indexOfFirst { it % 2 == 0 } println(index)

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

Int 3

Пример

Найдем индекс первой строки длиннее 3 символов в списке:

val words = listOf("cat", "dog", "elephant", "fox") val index = words.indexOfFirst { it.length > 3 } println(index)

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

Int 2

Пример

Найдем индекс первого элемента с значением больше 10 в множестве:

val set = setOf(5, 8, 12, 15, 3) val index = set.indexOfFirst { it > 10 } println(index)

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

Int 2

Пример

Найдем индекс первой записи в карте, где значение содержит букву 'a':

val map = mapOf(1 to "apple", 2 to "banana", 3 to "cherry") val index = map.indexOfFirst { it.value.contains('a') } println(index)

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

Int 0

Пример

Если элемент не найден, функция возвращает -1:

val numbers = listOf(1, 3, 5, 7, 9) val index = numbers.indexOfFirst { it % 2 == 0 } println(index)

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

Int -1

Для каких типов коллекций работает

Функция indexOfFirst доступна для следующих типов коллекций:

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

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

  • функцию indexOf,
    которая ищет индекс конкретного элемента
  • функцию indexOfLast,
    которая ищет индекс последнего элемента по условию
  • функцию find,
    которая возвращает первый элемент по условию
  • функцию filter,
    которая возвращает все элементы, удовлетворяющие условию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить