Массивы

Массивы

Kotlin является статически-типизированным языком, что означает если объявлен массив с указанием типа данных, которые он хранит, все данные помещаемые в массив должны представлять собой данные этого указанного типа. Массивы являются экземплярами класса Array и используются следующим образом:
var array = arrayOf<Int>()
Но как и с переменными тип массива можно не указать, если сразу же добавить в массив значения, по типу которых затем и определяется тип значений хранимых в массиве:
var array = arrayOf(1,2,3)
Для доступа к элементам массива используется оператор [], внутри которого пишется значение индекса массива. Индекс массива начинается с 0 и последний индекс массива равен длине массива – 1, если в массиве три элемента его индексы равны 0, 1, 2.
var array = arrayOf(1,2,3)
array[0] = 20 // Меняется значение первого элемента массива
var b = array[1] // Переменной b присваивается значение второго элемента массива

После создания массива его размер изменить нельзя, поэтому можно использовать конструктор arrayOfNulls<Тип>(Размер): Тип – название класса хранимых данных, Размер – целочисленное значение отображающее количество элементов в массиве.

Создаётся массив с нулевыми значениями размером 10 элементов:

var array = arrayOfNulls<Int>(10)
Устанавливаем значение элемента в индексе 0 (первого элемента) равным значению 1. Так как максимальная длина массива равна 10 и значение передаваемое в качестве второго элемента экземпляром класса Int – является целым числом значение первого элемента массива меняется на 50
array.set(0, 50)
В следующем примере код не выполняется и завершается с ошибкой, так как размер массива не указан, следовательно менять размер массива после его инициализации нельзя:
var array2 = arrayOf<Int>()
array2.set(2, 10)
Проверку на существование или несуществование объекта в массиве можно провести используя ключевое слово in:
var a = arrayOf<Int>(1,4,5,3,2)
val b : Any = 3
if(b in a) {
    println("Array contains value 3")
}