Разница между методом takeWhile () и filter () в Котлине

Я выполнял упражнение, и я обнаружил, что могу получить тот же результат, используя takeWhile() и filter() , поэтому я хотел бы знать, когда я должен использовать тот или иной.

Спасибо, и любой источник, который вы хотите поделиться со мной, будет рад.

Разница между ними – метод filter() возвращает список с элементами, которые соответствуют определенному условию. takeWhile() также возвращает список с элементами, которые соответствуют конкретному условию, но просто учитывают первые элементы в списке.

Пример для этого:

 val numbers = arrayOf(3, 3, 3, 9, 1, 4, 5, 8, 96, 3, 66, 3, 3, 3) println("*** takeWhile()") println(numbers.takeWhile { it == 3 }) println("*** filter()") println(numbers.filter { it -> it == 3 }) 

Это даст вам:

 *** takeWhile() [3, 3, 3] *** filter() [3, 3, 3, 3, 3, 3, 3] 
  • Ошибка при использовании объекта для реализации пустого списка
  • Каково поведение Iterable # all & Why Kotlin Char :: class.java! = Char.javaClass
  • Дублирующие элементы в наборе
  • Как создать новый список из пыльника в котлин?
  • Kotlin: отображение неизменяемого списка в API
  • Как сделать UpdateOrInsert в коллекциях Котлина
  • Есть ли способ отфильтровать null Any? ценностей на карте Котлина?
  • Используйте Java Standard Lib для Kotlin при компиляции в Javascript
  • Что такое эквивалент Kotlin для Java Stream.collect?
  • Interesting Posts

    Как получить аргументы фактического типа для параметра reified generic в Котлин?

    Как инициализировать var в лямбда

    База данных Firebase Realtime, как узнать состояние «синхронизации»?

    Как определить, когда фрагмент не отображается в NavigationDrawer

    безопасно ли перенести весь проект андроида в котлин сразу?

    Почему котировский код байта ссылки java.util.function.BiConsumer?

    Как назначить байт в котлин?

    Почему вызовы должны быть вызваны с помощью вызова класса класса?

    Как обратиться к анонимному внутреннему классу в Котлине?

    Исходный класс в Котлине

    Как сделать локальный метод расширения доступным в функции с приемником?

    Vert.x chunked отвечает данными из базы данных с использованием BLOB и спящего режима

    Как получить данные из базы данных Firebase с помощью Kotlin?

    Kotlin-андроид: неразрешенные ссылки привязки данных

    Какие функции Kotlin недоступны в статически скомпилированном Groovy?

    Давайте будем гением компьютера.