Интерфейс Iterable
Интерфейс Iterable
представляет коллекцию элементов,
которая может быть последовательно перебрана с помощью итератора.
Это базовый интерфейс для всех коллекций в Kotlin, поддерживающих
последовательный доступ к элементам. Параметр T
указывает
тип элементов коллекции.
Импорт
import kotlin.collections.Iterable
Синтаксис
interface Iterable<out T>
Пример
Создадим список и выведем все его элементы с помощью цикла for
:
val numbers: List<Int> = listOf(1, 2, 3, 4, 5)
for (num in numbers) {
println(num)
}
Результат выполнения кода:
1
2
3
4
5
Пример
Используем метод iterator
для явного получения итератора:
val chars: List<Char> = listOf('a', 'b', 'c', 'd', 'e')
val iterator: Iterator<Char> = chars.iterator()
while (iterator.hasNext()) {
val char = iterator.next()
println(char)
}
Результат выполнения кода:
a
b
c
d
e
Пример
Используем метод forEach
для перебора элементов:
val numbers: Iterable<Int> = setOf(10, 20, 30, 40, 50)
numbers.forEach { number ->
println(number * 2)
}
Результат выполнения кода:
20
40
60
80
100
Пример
Проверим, содержит ли коллекция определенный элемент с помощью метода contains
:
val list: Iterable<String> = listOf("apple", "banana", "orange")
val containsBanana: Boolean = list.contains("banana")
val containsGrape: Boolean = list.contains("grape")
println("Contains banana: $containsBanana")
println("Contains grape: $containsGrape")
Результат выполнения кода:
Contains banana: true
Contains grape: false
Пример
Используем метод all
для проверки, что все элементы удовлетворяют условию:
val numbers: Iterable<Int> = listOf(2, 4, 6, 8, 10)
val allEven: Boolean = numbers.all { it % 2 == 0 }
val allGreaterThanFive: Boolean = numbers.all { it > 5 }
println("All even: $allEven")
println("All greater than 5: $allGreaterThanFive")
Результат выполнения кода:
All even: true
All greater than 5: false
Смотрите также
-
интерфейс
Collection
,
который расширяетIterable
и добавляет методы для работы с коллекциями -
интерфейс
List
,
который представляет упорядоченную коллекцию с доступом по индексу -
интерфейс
Set
,
который представляет коллекцию уникальных элементов -
интерфейс
Sequence
,
который представляет ленивую последовательность элементов