Iterator

interface Iterator<out T> (source)

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

Functions

hasNext

abstract operator fun hasNext(): Boolean

Returns true if the iteration has more elements.

next

abstract operator fun next(): T

Returns the next element in the iteration.

Inherited Functions

equals

open operator fun equals(other: Any?): Boolean

Indicates whether some other object is "equal to" this one. Implementations must fulfil the following requirements:

hashCode

open fun hashCode(): Int

Returns a hash code value for the object. The general contract of hashCode is:

toString

open fun toString(): String

Returns a string representation of the object.

Extension Functions

asSequence

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

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

forEach

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

Performs the given operation on each element of this Iterator.

iterator

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

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

withIndex

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

Returns an Iterator wrapping each value produced by this Iterator with the IndexedValue, containing value and it's index.

Inheritors

AbstractIterator

abstract class AbstractIterator<T> : Iterator<T>

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.

BooleanIterator

abstract class BooleanIterator : Iterator<Boolean>

An iterator over a sequence of values of type Boolean.

ByteIterator

abstract class ByteIterator : Iterator<Byte>

An iterator over a sequence of values of type Byte.

CharIterator

abstract class CharIterator : Iterator<Char>

An iterator over a sequence of values of type Char.

DoubleIterator

abstract class DoubleIterator : Iterator<Double>

An iterator over a sequence of values of type Double.

FloatIterator

abstract class FloatIterator : Iterator<Float>

An iterator over a sequence of values of type Float.

IntIterator

abstract class IntIterator : Iterator<Int>

An iterator over a sequence of values of type Int.

ListIterator

interface ListIterator<out T> : Iterator<T>

An iterator over a collection that supports indexed access.

LongIterator

abstract class LongIterator : Iterator<Long>

An iterator over a sequence of values of type Long.

MutableIterator

interface MutableIterator<out T> : Iterator<T>

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

ShortIterator

abstract class ShortIterator : Iterator<Short>

An iterator over a sequence of values of type Short.