ListIterator

interface ListIterator<out T> : Iterator<T> (source)

An iterator over a collection that supports indexed access.

See Also

List.listIterator

Functions

hasNext

abstract fun hasNext(): Boolean

Returns true if the iteration has more elements.

hasPrevious

abstract fun hasPrevious(): Boolean

Returns true if there are elements in the iteration before the current element.

next

abstract fun next(): T

Returns the next element in the iteration.

nextIndex

abstract fun nextIndex(): Int

Returns the index of the element that would be returned by a subsequent call to next.

previous

abstract fun previous(): T

Returns the previous element in the iteration and moves the cursor position backwards.

previousIndex

abstract fun previousIndex(): Int

Returns the index of the element that would be returned by a subsequent call to previous.

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

MutableListIterator

interface MutableListIterator<T> : 
    ListIterator<T>,
    MutableIterator<T>

An iterator over a mutable collection that supports indexed access. Provides the ability to add, modify and remove elements while iterating.