Массив представляет собой набор похожих типов данных: Int, String и т. д. Массив в Kotlin является изменяемым по своей природе с фиксированным размером, что означает, что мы можем выполнять операции чтения и записи над элементами массива.
- Конструктор массива
- Объявление массива Kotlin — использование функции arrayOf()
- Использование функции intArrayOf()
- Изменение и получение доступа к элементам массива
- Функция set() массива Kotlin
- Функция get() массива Kotlin
- Пример массива 1
- Пример 2
- Пример 3: Использование функций arrayOf() и intArrayOf()
- Пример 4
- Пример 5: обход с использованием диапазона в Kotlin Array
Конструктор массива
Конструктор массива объявляется с указанным размером и функцией инициализации. Функция 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
