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

Функция dropWhile

Функция dropWhile возвращает коллекцию, содержащую все элементы исходной коллекции, кроме первых элементов, которые удовлетворяют заданному условию (предикату). Функция проверяет элементы с начала коллекции и пропускает их, пока условие истинно. Как только встречается элемент, не удовлетворяющий условию, функция возвращает все оставшиеся элементы, включая этот элемент.

Импорт

import kotlin.collections.dropWhile

Синтаксис

// Для List, Set, Array и других коллекций inline fun <T> Iterable<T>.dropWhile( predicate: (T) -> Boolean ): List<T>
// Для Array inline fun <T> Array<T>.dropWhile( predicate: (T) -> Boolean ): List<T>
// Для Map inline fun <K, V> Map<out K, V>.dropWhile( predicate: (Entry<K, V>) -> Boolean ): List<Entry<K, V>>

Типы коллекций

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

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

Пример

Удалим начальные элементы из списка чисел, которые меньше 3:

val numbers = listOf(1, 2, 3, 4, 5, 1, 2) val res = numbers.dropWhile { it < 3 } println(res)

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

List [3, 4, 5, 1, 2]

Пример

Удалим начальные элементы из массива символов, которые не являются цифрами:

val chars = arrayOf('a', 'b', '1', '2', 'c', 'd') val res = chars.dropWhile { it.isLetter() } println(res)

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

List ['1', '2', 'c', 'd']

Пример

Удалим начальные записи из словаря, где ключ начинается с 'a':

val map = mapOf("apple" to 1, "apricot" to 2, "banana" to 3, "cherry" to 4) val res = map.dropWhile { it.key.startsWith("a") } println(res)

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

List [banana=3, cherry=4]

Пример

Удалим начальные элементы из множества, пока они четные:

val numbersSet = setOf(2, 4, 6, 7, 8, 9, 10) val res = numbersSet.dropWhile { it % 2 == 0 } println(res)

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

List [7, 8, 9, 10]

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

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