Функция iterator
Функция iterator возвращает объект итератора,
который позволяет последовательно перебирать элементы
коллекции. Итератор предоставляет методы для проверки
наличия следующего элемента и получения текущего элемента.
Функция работает с массивами Array, списками List,
множествами Set, ассоциативными массивами Map
и другими типами коллекций.
Импорт
import kotlin.collections.iterator
Синтаксис
fun <T> Array<out T>.iterator(): Iterator<T>
fun <T> Iterable<T>.iterator(): Iterator<T>
fun <K, V> Map<out K, V>.iterator(): Iterator<Map.Entry<K, V>>
fun CharSequence.iterator(): CharIterator
Пример
Получим итератор для массива и переберем его элементы:
val arr = arrayOf(1, 2, 3, 4, 5)
val iter = arr.iterator()
while (iter.hasNext()) {
val element = iter.next()
println(element)
}
Результат выполнения кода:
1
2
3
4
5
Пример
Получим итератор для списка и переберем его элементы:
val list = listOf('a', 'b', 'c', 'd', 'e')
val iter = list.iterator()
while (iter.hasNext()) {
val element = iter.next()
println(element)
}
Результат выполнения кода:
a
b
c
d
e
Пример
Получим итератор для множества и переберем его элементы:
val set = setOf("apple", "banana", "orange")
val iter = set.iterator()
while (iter.hasNext()) {
val element = iter.next()
println(element)
}
Результат выполнения кода:
apple
banana
orange
Пример
Получим итератор для ассоциативного массива и переберем его элементы:
val map = mapOf(1 to "one", 2 to "two", 3 to "three")
val iter = map.iterator()
while (iter.hasNext()) {
val entry = iter.next()
println("${entry.key} = ${entry.value}")
}
Результат выполнения кода:
1 = one
2 = two
3 = three
Пример
Получим итератор для строки и переберем ее символы:
val str = "abcde"
val iter = str.iterator()
while (iter.hasNext()) {
val char = iter.next()
println(char)
}
Результат выполнения кода:
a
b
c
d
e
Смотрите также
-
функцию
forEach,
которая выполняет действие для каждого элемента коллекции -
функцию
withIndex,
которая возвращает итератор с индексом и значением элементов -
функцию
forEachIndexed,
которая выполняет действие для каждого элемента с индексом