all Equal By
Начиная с Kotlin: 2.4
inline fun <T, K> Sequence<T>.allEqualBy(selector: (T) -> K): Boolean
Возвращает true, если все элементы последовательности дают одно и то же значение, полученное с помощью указанной функции селектора.
Для пустой последовательности возвращает true.
Значения селектора сравниваются последовательно с использованием структурного равенства (==). Все элементы считаются равными по значению селектора, если значение селектора первого элемента равно значению селектора каждого последующего элемента.
Для значений селектора типов с плавающей точкой (Double, Float) NaN считается равным NaN, а -0.0 считается не равным 0.0, что соответствует поведению Double.equals и Float.equals.
Операция является терминальной.
Примеры
fun main() {
//sampleStart
println(sequenceOf<String>().allEqualBy { it.length }) // true
println(sequenceOf("apple").allEqualBy { it.length }) // true
println(sequenceOf("apple", "mango", "peach").allEqualBy { it.length }) // true
println(sequenceOf("apple", "mango", "peach").allEqualBy { it }) // false
//sampleEnd
}
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.sequences/all-equal-by.html