Класс Array

Класс Array представляет массив элементов определенного типа. Массивы в Kotlin являются инвариантными, имеют фиксированный размер и поддерживают доступ к элементам по индексу. Для создания массивов используются фабричные функции arrayOf, arrayOfNulls и конструктор с лямбдой.

Создание массива

kotlinval arr1 = arrayOf(1, 2, 3, 4, 5)
val arr2 = arrayOf("a", "b", "c", "d", "e")

Создание массива с null значениями

kotlinval arr = arrayOfNulls<String>(5)

Создание массива через конструктор

kotlinval arr = Array(5) { index -> index * 2 }

Доступ к элементам массива

kotlinval arr = arrayOf(10, 20, 30, 40, 50)
val first = arr[0]
val third = arr[2]
arr[1] = 25

Размер массива

kotlinval arr = arrayOf(1, 2, 3, 4, 5)
val size = arr.size
println(size)

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

kotlinInt 5

Итерация по массиву

kotlinval arr = arrayOf("a", "b", "c", "d", "e")

for (element in arr) {
  println(element)
}

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

kotlinString "a"
String "b"
String "c"
String "d"
String "e"

Итерация с индексом

kotlinval arr = arrayOf(100, 200, 300, 400, 500)

for ((index, value) in arr.withIndex()) {
  println("Index: $index, Value: $value")
}

Проверка наличия элемента

kotlinval arr = arrayOf(1, 2, 3, 4, 5)
val containsThree = 3 in arr
val containsTen = 10 in arr
println(containsThree)
println(containsTen)

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

kotlinBoolean true
Boolean false

Преобразование массива

kotlinval numbers = arrayOf(1, 2, 3, 4, 5)
val squares = numbers.map { it * it }.toTypedArray()

Специализированные массивы

Kotlin предоставляет специализированные классы массивов для примитивных типов для лучшей производительности:

kotlinval intArr = intArrayOf(1, 2, 3, 4, 5)
val doubleArr = doubleArrayOf(1.1, 2.2, 3.3)
val charArr = charArrayOf('a', 'b', 'c')

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

  • класс List,
    который представляет неизменяемый список элементов
  • класс MutableList,
    который представляет изменяемый список элементов
  • класс IntArray,
    который представляет массив примитивных int значений
  • класс ArrayList,
    который представляет реализацию списка на основе массива