iterator

Common
JVM
JS
Native
1.0
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.

import java.util.*

fun main(args: Array<String>) {
//sampleStart
val mutableList = mutableListOf(1, 2, 3)
val mutableIterator = mutableList.iterator()

// iterator() extension is called here
for (e in mutableIterator) {
    if (e % 2 == 0) {
        // we can remove items from the iterator without getting ConcurrentModificationException
        // because it's the same iterator that is iterated with for loop
        mutableIterator.remove()
    }

    println("The element is $e")
}
//sampleEnd
}
Common
JVM
JS
Native
1.0
operator fun <K, V> Map<out K, V>.iterator(): Iterator<Entry<K, V>>

Returns an Iterator over the entries in the Map.

import kotlin.test.*
import java.util.*

fun main(args: Array<String>) {
//sampleStart
val map = mapOf("beverage" to 2.7, "meal" to 12.4, "dessert" to 5.8)

for ((key, value) in map) {
    println("$key - $value") // prints: beverage - 2.7
                             // prints: meal - 12.4
                             // prints: dessert - 5.8
}
//sampleEnd
}
Common
JVM
JS
Native
1.0
@JvmName("mutableIterator") operator fun <K, V> MutableMap<K, V>.iterator(): MutableIterator<MutableEntry<K, V>>

Returns a MutableIterator over the mutable entries in the MutableMap.