Float Iterator
Начиная с Kotlin: 1.0
abstract class FloatIterator : Iterator<Float>
Итератор последовательности значений типа Float.
Это замена для Iterator<Float>, предоставляющая специализированную версию метода next(): T: nextFloat(): Float. Компилятор обрабатывает её особым образом, чтобы в рамках оптимизации производительности избежать преобразований упаковки, зависящих от платформы.
В следующем примере:
class FloatContainer(private val data: FloatArray) {
// FloatIterator instead of Iterator<Float> in the signature
operator fun iterator(): FloatIterator = object : FloatIterator() {
private var idx = 0
override fun nextFloat(): Float {
if (!hasNext()) throw NoSuchElementException()
return data[idx++]
}
override fun hasNext(): Boolean = idx < data.size
}
}
for (element in FloatContainer(floatArrayOf(1f, 2f, 3f))) {
... handle element ...
}
Во время итерации цикла for преобразование упаковки не выполняется. Обратите внимание, что сам итератор всё равно будет выделен в памяти.
Конструкторы
constructor()
Функции
Начиная с 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/-float-iterator/index.html