Функция 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,
    которая преобразует коллекцию в последовательность