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","zyiz","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
zyiz
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

上一篇:Kotlin Elvis运算符

下一篇:Kotlin集合

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程