Функция asList
Функция asList преобразует массив
или диапазон в неизменяемый список типа
List. Применяется к массивам различных
типов и возвращает представление массива
в виде списка.
Импорт
kotlinimport kotlin.collections.asList
Синтаксис
kotlinfun <T> Array<out T>.asList(): List<T>
kotlinfun IntArray.asList(): List<Int>
kotlinfun LongArray.asList(): List<Long>
kotlinfun DoubleArray.asList(): List<Double>
kotlinfun FloatArray.asList(): List<Float>
kotlinfun ShortArray.asList(): List<Short>
kotlinfun ByteArray.asList(): List<Byte>
kotlinfun CharArray.asList(): List<Char>
kotlinfun BooleanArray.asList(): List<Boolean>
Пример
Преобразуем массив чисел типа IntArray
в список:
kotlinval numbers = intArrayOf(1, 2, 3, 4, 5)
val list = numbers.asList()
println(list)
Результат выполнения кода:
kotlinList<Int> [1, 2, 3, 4, 5]
Пример
Преобразуем массив строк типа Array<String>
в список:
kotlinval strings = arrayOf("a", "b", "c", "d", "e")
val list = strings.asList()
println(list)
Результат выполнения кода:
kotlinList<String> ['a', 'b', 'c', 'd', 'e']
Пример
Преобразуем массив символов типа CharArray
в список:
kotlinval chars = charArrayOf('a', 'b', 'c', 'd', 'e')
val list = chars.asList()
println(list)
Результат выполнения кода:
kotlinList<Char> ['a', 'b', 'c', 'd', 'e']
Пример
Полученный список является неизменяемым. Попытка изменить его элементы приведет к исключению:
kotlinval numbers = intArrayOf(1, 2, 3, 4, 5)
val list = numbers.asList()
try {
list[0] = 10
} catch (e: UnsupportedOperationException) {
println("Cannot modify read-only list")
}
Результат выполнения кода:
kotlinCannot modify read-only list
Пример
Изменения в исходном массиве отражаются в полученном списке, так как список является представлением массива:
kotlinval numbers = intArrayOf(1, 2, 3, 4, 5)
val list = numbers.asList()
numbers[0] = 100
println(list)
Результат выполнения кода:
kotlinList<Int> [100, 2, 3, 4, 5]
Смотрите также
-
функцию
toList,
которая создает новый список из элементов -
функцию
toMutableList,
которая создает изменяемый список -
функцию
toArray,
которая преобразует коллекцию в массив -
функцию
asSequence,
которая преобразует коллекцию в последовательность