Boolean Iterator
Начиная с Kotlin: 1.0
abstract class BooleanIterator : Iterator<Boolean>
Итератор по последовательности значений типа Boolean.
Это замена для Iterator<Boolean>, предоставляющая специализированную версию метода next(): T: nextBoolean(): Boolean. Компилятор обрабатывает её особым образом, чтобы избежать платформенно-зависимых преобразований упаковки в объекты в целях оптимизации производительности.
В следующем примере:
class BooleanContainer(private val data: BooleanArray) {
// BooleanIterator instead of Iterator<Boolean> in the signature
operator fun iterator(): BooleanIterator = object : BooleanIterator() {
private var idx = 0
override fun nextBoolean(): Boolean {
if (!hasNext()) throw NoSuchElementException()
return data[idx++]
}
override fun hasNext(): Boolean = idx < data.size
}
}
for (element in BooleanContainer(booleanArrayOf(true, false, true))) {
... handle element ...
}
При итерации в цикле for преобразование упаковки в объект не выполняется. Обратите внимание, что сам итератор всё равно будет выделен в памяти.
Конструкторы
constructor()
Функции
Начиная с Kotlin: 1.0
abstract fun nextBoolean(): Boolean
Возвращает следующий элемент итерации без преобразования упаковки в объект.
Начиная с Kotlin: 1.0
fun <T> Iterator<T>.withIndex(): Iterator<IndexedValue<T>>
Возвращает итератор, который оборачивает каждый элемент, созданный исходным итератором, в IndexedValue, содержащий индекс этого элемента и сам элемент.
© 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.collections/-boolean-iterator/index.html