АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
162 of 1310 menu
Бесплатный тренинг по PHP: форматирование строк. Начало 25 сентября. Жми для записи!

Интерфейс 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,
    который представляет ленивую последовательность элементов