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

Функция indexOfLast

Функция indexOfLast выполняет поиск последнего элемента в коллекции, который удовлетворяет заданному условию-предикату. Возвращает индекс найденного элемента или -1, если ни один элемент не удовлетворяет условию. Функция применяется к массивам Array, спискам List и другим коллекциям, поддерживающим индексацию.

Синтаксис

// Для Array<T> inline fun <T> Array<out T>.indexOfLast( predicate: (T) -> Boolean ): Int
// Для List<T> inline fun <T> List<T>.indexOfLast( predicate: (T) -> Boolean ): Int
// Для CharSequence inline fun CharSequence.indexOfLast( predicate: (Char) -> Boolean ): Int

Пример

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

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

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

Int 5

Пример

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

val words = listOf("apple", "banana", "avocado", "orange", "apricot") val res = words.indexOfLast { it.startsWith("a") } println(res)

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

Int 4

Пример

Найдем индекс последнего символа-цифры в строке:

val text = "abc123def456" val res = text.indexOfLast { it.isDigit() } println(res)

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

Int 11

Пример

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

val numbers = listOf(1, 3, 5, 7, 9) val res = numbers.indexOfLast { it > 10 } println(res)

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

Int -1

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

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

  • Array - массивы любых типов
  • List - списки элементов
  • MutableList - изменяемые списки
  • CharSequence - строки и последовательности символов
  • String - строки

Для Set и Map функция недоступна, так как эти коллекции не поддерживают индексацию элементов.

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

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