Kotlin可變數組

Array是IntString等類似數據的集合。Kotlin中的數組具有固定大小的可變性。 這意味着可以對數組元素執行讀寫操作。

數組聲明語法

下面是一個初始化爲int類型的元素,大小爲5,所有元素都爲0的數組。

var myArray = Array<Int>(5){0}

Kotlin數組聲明 - 使用arrayOf函數

var myArray1 = arrayOf(1,10,4,6,15)  
var myArray2 = arrayOf<Int>(1,10,4,6,15)  
val myArray3 = arrayOf<String>("Ajax","Prake","Michel","John","Sumit")  
var myArray4= arrayOf(1,10,4, "Ajax","Prake")

或者

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

下面來看看Kotlin中的數組示例。 在這個例子中,將看到如何初始化和遍歷數組中的元素。

Kotlin數組示例1

在這個例子中,只是初始化一個大小爲5的數組,默認值爲0。數組的索引值從0開始。數組的第一個元素放在索引0,最後一個元素放在一個比數組總數小1的元素。

fun main(args: Array<String>){
    var myArray = Array<Int>(5){0}

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

執行上面示例代碼,得到以下結果 -

0
0
0
0
0

Kotlin數組示例2

還可以使用索引值重寫數組的值。 數組的值是可以修改的,所以把它稱爲可變數組。 例如:

fun main(args: Array<String>){
    var myArray = Array<Int>(5){0}

    myArray[1]= 10
    myArray[3]= 15

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

執行上面示例代碼,得到以下結果 -

0
10
0
15
0

Kotlin數組示例3 - 使用arrayOf()和intArrayOf()函數:

Kotlin中的數組也聲明使用不同的函數,如arrayOf()intArrayOf()等。下面來看看arrayOf()intArrayOf()函數的示例。

fun main(args: Array<String>){
    val name = arrayOf<String>("Ajax","Prake","Michel","Yiibai","Maxsu")
    var myArray2 = arrayOf<Int>(1,10,4,6,15)
    var myArray3 = arrayOf(5,10,20,12,15)
    var myArray4= arrayOf(1,10,4, "Ajax","Prake")
    var myArray5: IntArray = intArrayOf(5,10,20,12,15)

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

    println("Array 1 => ")
    for(element in myArray2){
        println(element)
    }
    println("Array 2 => ")
    for(element in myArray3){
        println(element)
    }
    println("Array 3 => ")
    for(element in myArray4){
        println(element)
    }
    println("Array 4 => ")
    for(element in myArray5){
        println(element)
    }

}

執行上面示例代碼,得到以下結果 -

Ajax
Prake
Michel
Yiibai
Maxsu
Array 1 => 
1
10
4
6
15
Array 2 => 
5
10
20
12
15
Array 3 => 
1
10
4
Ajax
Prake
Array 4 => 
5
10
20
12
15

Kotlin數組示例4

假設嘗試在索引位置插入一個大於數組大小的元素時,會發生什麼? 它將拋出一個ArrayIndexOutOfBoundException。 這是因爲想要插入元素的索引值不存在。 這是由於數組大小的長度固定。 下面來看看一個例子:

fun main(args: Array<String>){
    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)

Kotlin數組示例5 - 使用範圍遍歷

Kotlin的數組元素也使用索引範圍(minValue..maxValue)或(maxValue..minvalue)遍歷。 讓我們看一個使用範圍遍歷數組的示例。

fun main(args: Array<String>){  
    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