Ответ
Iterable – это интерфейс, который позволяет объекту быть итерируемым (перебираемым) в цикле for-each. Для этого класс должен реализовать метод iterator(), возвращающий Iterator<T>.
Пример:
class MyCollection : Iterable<String> {
private val items = listOf("A", "B", "C")
override fun iterator(): Iterator<String> {
return items.iterator()
}
}
// Использование:
val collection = MyCollection()
for (item in collection) {
println(item) // A, B, C
}
Особенности:
- Поддерживается
List,Setи другими коллекциями. - Можно использовать
forEach { }. - Если объект не
Iterable,for-eachвызовет ошибку компиляции.