MutableListIterator

interface MutableListIterator<T> : 
    ListIterator<T>,
    MutableIterator<T>
(source)

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

Functions

add

abstract fun add(element: T)

Adds the specified element element into the underlying collection immediately before the element that would be returned by next, if any, and after the element that would be returned by previous, if any. (If the collection contains no elements, the new element becomes the sole element in the collection.) The new element is inserted before the implicit cursor: a subsequent call to next would be unaffected, and a subsequent call to previous would return the new element. (This call increases by one the value \ that would be returned by a call to nextIndex or previousIndex.)

hasNext

abstract fun hasNext(): Boolean

Returns true if the iteration has more elements.

next

abstract fun next(): T

Returns the next element in the iteration.

remove

abstract fun remove()

Removes from the underlying collection the last element returned by this iterator.

set

abstract fun set(element: T)

Replaces the last element returned by next or previous with the specified element element.

Inherited Functions

hasPrevious

abstract fun hasPrevious(): Boolean

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

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.