НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
102 of 1310 menu

Функция asIterable

Функция asIterable преобразует исходный массив или коллекцию в объект, реализующий интерфейс Iterable. Это позволяет использовать полученный объект в циклах и других конструкциях, требующих итерируемую коллекцию. Функция не создает копию данных, а возвращает представление оригинальной коллекции в виде Iterable.

Синтаксис

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

Пример

Преобразуем массив символов в Iterable и проитерируемся по нему:

val charArray = charArrayOf('a', 'b', 'c', 'd', 'e') val iterable: Iterable<Char> = charArray.asIterable() for (char in iterable) { println(char) }

Результат выполнения кода:

a b c d e

Пример

Преобразуем массив чисел в Iterable и используем методы интерфейса Iterable:

val intArray = intArrayOf(1, 2, 3, 4, 5) val iterable: Iterable<Int> = intArray.asIterable() val iterator = iterable.iterator() while (iterator.hasNext()) { print(iterator.next()) print(" ") }

Результат выполнения кода:

1 2 3 4 5

Пример

Преобразуем список в Iterable и используем его в функции высшего порядка:

val list = listOf(10, 20, 30, 40, 50) val iterable: Iterable<Int> = list.asIterable() val filtered = iterable.filter { it > 25 } println(filtered)

Результат выполнения кода:

[30, 40, 50]

Пример

Покажем, что asIterable не создает копию, а работает с оригинальным массивом:

val originalArray = arrayOf(1, 2, 3) val iterable: Iterable<Int> = originalArray.asIterable() originalArray[0] = 100 println("Original array: ${originalArray.joinToString()}") println("Iterable: ${iterable.joinToString()}")

Результат выполнения кода:

Original array: 100, 2, 3 Iterable: 100, 2, 3

Смотрите также

  • функцию toList,
    которая создает новый список из массива или коллекции
  • функцию toSet,
    которая создает множество из массива или коллекции
  • функцию asList,
    которая преобразует массив в список без копирования
  • функцию asSequence,
    которая преобразует коллекцию в последовательность
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить