Spec-Zone.ru › Kotlin 2

LongIterator

kotlin-stdlib/kotlin.collections/LongIterator

Начиная с Kotlin: 1.0

abstract class LongIterator : Iterator<Long> 

Итератор последовательности значений типа Long.

Это замена для Iterator<Long>, предоставляющая специализированную версию метода next(): T: nextLong(): Long, а также особую обработку компилятором, позволяющую избежать платформенно-зависимых преобразований с упаковкой в целях оптимизации производительности.

В следующем примере:

class LongContainer(private val data: LongArray) {

// LongIterator instead of Iterator<Long> in the signature
operator fun iterator(): LongIterator = object : LongIterator() {
private var idx = 0

override fun nextLong(): Long {
if (!hasNext()) throw NoSuchElementException()
return data[idx++]
}

override fun hasNext(): Boolean = idx < data.size
}
}

for (element in LongContainer(longArrayOf(1, 2, 3))) {
... handle element ...
}

При итерации в цикле for преобразование с упаковкой не выполняется. Обратите внимание, что сам итератор всё равно будет создан.

Конструкторы

LongIterator
constructor()

Функции

asSequence

Начиная с Kotlin: 1.0

fun <T> Iterator<T>.asSequence(): Sequence<T>

Создаёт последовательность, возвращающую все элементы этого итератора. По этой последовательности можно выполнить итерацию только один раз.

forEach

Начиная с Kotlin: 1.0

inline fun <T> Iterator<T>.forEach(operation: (T) -> Unit)

Выполняет заданную операцию над каждым элементом этого Iterator.

hasNext

Начиная с Kotlin: 1.0

expect abstract operator fun hasNext(): Boolean

Возвращает true, если в последовательности остались элементы.

iterator

Начиная с Kotlin: 1.0

inline operator fun <T> Iterator<T>.iterator(): Iterator<T>

Возвращает переданный итератор без изменений. Это позволяет использовать экземпляр итератора в цикле for.

next

Начиная с Kotlin: 1.0

operator override fun next(): Long

Возвращает следующий элемент последовательности.

nextLong

Начиная с Kotlin: 1.0

abstract fun nextLong(): Long

Возвращает следующий элемент последовательности без преобразования с упаковкой.

withIndex

Начиная с Kotlin: 1.0

fun <T> Iterator<T>.withIndex(): Iterator<IndexedValue<T>>

Возвращает Iterator, который оборачивает каждый элемент исходного итератора в 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/-long-iterator/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API