withIndex

fun <T> Array<out T>.withIndex(): Iterable<IndexedValue<T>> (source)
fun ByteArray.withIndex(): Iterable<IndexedValue<Byte>> (source)
fun ShortArray.withIndex(): Iterable<IndexedValue<Short>> (source)
fun IntArray.withIndex(): Iterable<IndexedValue<Int>> (source)
fun LongArray.withIndex(): Iterable<IndexedValue<Long>> (source)
fun FloatArray.withIndex(): Iterable<IndexedValue<Float>> (source)
fun DoubleArray.withIndex(): Iterable<IndexedValue<Double>> (source)
fun BooleanArray.withIndex(): Iterable<IndexedValue<Boolean>> (source)
fun CharArray.withIndex(): Iterable<IndexedValue<Char>> (source)

Returns a lazy Iterable of IndexedValue for each element of the original array.

fun <T> Iterable<T>.withIndex(): Iterable<IndexedValue<T>> (source)

Returns a lazy Iterable of IndexedValue for each element of the original collection.

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

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

import samples.Sample
import java.util.*

fun main(args: Array<String>) {
//sampleStart
val iterator = ('a'..'c').iterator()

for ((index, value) in iterator.withIndex()) {
    println("The element at $index is $value")
}
//sampleEnd
}