Iterator

Platform and version requirements: JVM (1.0), JS (1.1), Native (1.3)
interface Iterator<out T>

An iterator over a collection or another entity that can be represented as a sequence of elements. Allows to sequentially access the elements.

Functions

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

hasNext

Returns true if the iteration has more elements.

abstract operator fun hasNext(): Boolean
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

next

Returns the next element in the iteration.

abstract operator fun next(): T

Extension Functions

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

asSequence

Creates a sequence that returns all elements from this iterator. The sequence is constrained to be iterated only once.

fun <T> Iterator<T>.asSequence(): Sequence<T>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

forEach

Performs the given operation on each element of this Iterator.

fun <T> Iterator<T>.forEach(operation: (T) -> Unit)
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

iterator

Returns the given iterator itself. This allows to use an instance of iterator in a for loop.

operator fun <T> Iterator<T>.iterator(): Iterator<T>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

withIndex

Returns an Iterator that wraps each element produced by the original iterator into an IndexedValue containing the index of that element and the element itself.

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

Inheritors

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

AbstractIterator

A base class to simplify implementing iterators so that implementations only have to implement computeNext to implement the iterator, calling done when the iteration is complete.

abstract class AbstractIterator<T> : Iterator<T>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

BooleanIterator

An iterator over a sequence of values of type Boolean.

abstract class BooleanIterator : Iterator<Boolean>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

ByteIterator

An iterator over a sequence of values of type Byte.

abstract class ByteIterator : Iterator<Byte>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

CharIterator

An iterator over a sequence of values of type Char.

abstract class CharIterator : Iterator<Char>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

DoubleIterator

An iterator over a sequence of values of type Double.

abstract class DoubleIterator : Iterator<Double>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

FloatIterator

An iterator over a sequence of values of type Float.

abstract class FloatIterator : Iterator<Float>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

IntIterator

An iterator over a sequence of values of type Int.

abstract class IntIterator : Iterator<Int>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

ListIterator

An iterator over a collection that supports indexed access.

interface ListIterator<out T> : Iterator<T>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

LongIterator

An iterator over a sequence of values of type Long.

abstract class LongIterator : Iterator<Long>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

MutableIterator

An iterator over a mutable collection. Provides the ability to remove elements while iterating.

interface MutableIterator<out T> : Iterator<T>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

ShortIterator

An iterator over a sequence of values of type Short.

abstract class ShortIterator : Iterator<Short>
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

UByteIterator

An iterator over a sequence of values of type UByte.

abstract class UByteIterator : Iterator<UByte>
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

UIntIterator

An iterator over a sequence of values of type UInt.

abstract class UIntIterator : Iterator<UInt>
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

ULongIterator

An iterator over a sequence of values of type ULong.

abstract class ULongIterator : Iterator<ULong>
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

UShortIterator

An iterator over a sequence of values of type UShort.

abstract class UShortIterator : Iterator<UShort>

© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterator/index.html