Массивы в Kotlin: Как создать и вывести, чтение и запись

Массив представляет собой набор похожих типов данных: Int, String и т. д. Массив в Kotlin является изменяемым по своей природе с фиксированным размером, что означает, что мы можем выполнять операции чтения и записи над элементами массива.

Конструктор массива

Конструктор массива объявляется с указанным размером и функцией инициализации. Функция init используется для возврата элементов массива с их индексом.

 
Array(size: Int, init:(Int) -> T) 

Массив в Котлин можно создать с помощью функций arrayOf(), intArrayOf(), charArrayOf(), booleanArrayOf(), longArrayOf(), shortArrayOf(), byteArrayOf().

Объявление массива Kotlin — использование функции arrayOf()

 
var myArray1 = arrayOf(1,10,4,6,15) 
var myArray2 = arrayOf(1,10,4,6,15) 
val myArray3 = arrayOf("Ajay","Prakesh","Michel","John","Sumit") 
var myArray4= arrayOf(1,10,4, "Ajay","Prakesh") 

Использование функции intArrayOf()

 
var myArray5: IntArray = intArrayOf(5,10,20,12,15) 

Изменение и получение доступа к элементам массива

В Kotlin есть функции set() и get(), которые могут напрямую изменять и получать доступ к конкретному элементу массива соответственно.

Функция set() используется для установки элемента в определенном месте индекса. Это также делается с присвоением элемента в индексе массива. Функция массива get() используется для получения элемента из указанного индекса.

Функция set() массива Kotlin

 
fun main(args: Array) { 
val array1 = arrayOf(1,2,3,4) 
val array2 = arrayOf(11,12,13,14) 
    array1.set(0,5) 
    array1[2] = 6 
 
    array2.set(2,10) 
    array2[3] = 8 
 
    for(element in array1){ 
println(element) 
    } 
println() 
    for(element in array2){ 
println(element) 
    } 
} 

Выход:

5 
2 
6 
4 
 
11 
12 
10 
8 

Функция get() массива Kotlin

 
fun main(args: Array) { 
val array1 = arrayOf(1,2,3,4) 
val array2 = arrayOf(11,12,13,14) 
println(array1.get(0)) 
println(array1[2]) 
println() 
println(array2.get(2)) 
println(array2[3]) 
 
} 

Выход:

1 
3 
 
13 
14 

Пример массива 1

В этом примере мы просто инициализируем массив размером 5 со значением по умолчанию равным 0 и просматриваем его элементы. Значение индекса массива начинается с 0. Первый элемент массива помещается в значение индекса 0, а последний элемент — на единицу меньше размера массива.

 
fun main(args: Array){ 
var myArray = Array(5){0} 
 
    for(element in myArray){ 
println(element) 
    } 
} 

Выход:

0 
0 
0 
0 
0 

Пример 2

Мы также можем переписать значение массива, используя значение его индекса. Поскольку мы можем изменить значение массива, массив называется изменяемым свойством.

Например:

 
fun main(args: Array){ 
var myArray = Array(5){0} 
 
myArray[1]= 10 
myArray[3]= 15 
 
    for(element in myArray){ 
println(element) 
    } 
} 

Выход:

0 
10 
0 
15 
0 

Пример 3: Использование функций arrayOf() и intArrayOf()

Массив в Kotlin также можно объявить с помощью библиотечных функций, таких как arrayOf(), intArrayOf() и т. д. Давайте посмотрим на пример массива с использованием функций arrayOf() и intArrayOf().

 
fun main(args: Array){ 
val name = arrayOf("Ajay","Prakesh","Michel","John","Sumit") 
var myArray2 = arrayOf(1,10,4,6,15) 
var myArray3 = arrayOf(5,10,20,12,15) 
var myArray4= arrayOf(1,10,4, "Ajay","Prakesh") 
var myArray5: IntArray = intArrayOf(5,10,20,12,15) 
 
    for(element in name){ 
println(element) 
    } 
 
println() 
    for(element in myArray2){ 
println(element) 
    } 
println() 
    for(element in myArray3){ 
println(element) 
    } 
println() 
    for(element in myArray4){ 
println(element) 
    } 
println() 
    for(element in myArray5){ 
println(element) 
    } 
 
} 

Выход:

Ajay 
Prakesh 
Michel 
John 
Sumit 
 
1 
10 
4 
6 
15 
 
5 
10 
20 
12 
15 
 
1 
10 
4 
Ajay 
Prakesh 
 
5 
10 
15 
20 
25 

Пример 4

Предположим, что когда мы пытаемся вставить элемент в позицию индекса, превышающую размер массива, что произойдет?

Это вызовет исключение ArrayIndexOutOfBoundException. Это связано с тем, что отсутствует значение индекса, по которому мы пытались вставить элемент. Из-за этого массив называется длиной фиксированного размера. Например:

 
fun main(args: Array){ 
var myArray5: IntArray = intArrayOf(5,10,20,12,15) 
 
    myArray5[6]=18 // ArrayIndexOutOfBoundsException 
    for(element in myArray5){ 
println(element)   
    } 
} 

Выход:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6 
 at ArrayListKt.main(Array.kt:4) 

Пример 5: обход с использованием диапазона в Kotlin Array

Элементы массива Kotlin также перебираются с использованием диапазона индексов (minValue..maxValue) или (maxValue..minValue). Давайте посмотрим на пример обхода массива с использованием диапазона.

 
fun main(args: Array){ 
var myArray5: IntArray = intArrayOf(5,10,20,12,15) 
 
    for(index in 0..4){ 
println(myArray5[index]) 
    } 
println() 
    for(index in 0..myArray5.size-1){ 
println(myArray5[index]) 
    } 
} 

Выход:

5 
10 
20 
12 
15 
 
5 
10 
20 
12 
15 

Оцените статью