数组是Int
,String
等类似数据类型的集合。Kotlin中的数组本质上是可变的,具有固定大小,这意味着可以对数组元素执行读写操作。
数组的构造函数
使用指定的大小和init
函数声明数组构造函数。 init
函数用于返回带有索引的数组元素。
Array(size: Int, init: (Int) -> T)
可以使用arrayOf()
,intArrayOf()
,charArrayOf()
,booleanArrayOf()
,longArrayOf()
,shortArrayOf()
,byteArrayOf()
函数创建Kotlin数组。
Kotlin数组声明 - 使用arrayOf()函数
var myArray1 = arrayOf(1,10,4,6,15)
var myArray2 = arrayOf(1,10,4,6,15)
val myArray3 = arrayOf("Ajax","Prake","Michel","John","Curry")
var myArray4= arrayOf(1,10,4, "Ajax","Prake")
Kotlin
Kotlin数组声明 - 使用intArrayOf()函数
var myArray5: IntArray = intArrayOf(5,10,20,12,15)
Kotlin
修改和访问数组的元素
Kotlin数组有set()
和get()
函数,可以分别直接修改和访问数组的特定元素。
数组set()
函数用于在特定索引位置设置元素。 这也可以通过在数组索引处分配元素来完成。 数组 get()
函数用于从指定的索引获取元素。
Kotlin数组set()函数示例
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)
}
}
Kotlin
执行上面示例代码,得到以下结果 -
5
2
6
4
11
12
10
8
Shell
Kotlin数组get()函数示例
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])
}
Kotlin
执行上面示例代码,得到以下结果 -
1
3
13
14
Shell
Kotlin数组示例1:
在这个例子中,只是初始化一个大小为5
的数组,默认值为0
并遍历元素。 数组的索引值从0
开始。数组的第一个元素放在索引值0
,最后一个元素放在一个小于数组大小1
索引的元素。
fun main(args: Array){
var myArray = Array(5){0}
for(element in myArray){
println(element)
}
}
Kotlin
执行上面示例代码,得到以下结果 -
0
0
0
0
0
Shell
Kotlin数组示例2:
还可以使用其索引值重写数组的值。 因为可以修改数组的值,所以数组称为可变属性。
例如:
fun main(args: Array){
var myArray = Array(5){0}
myArray[1]= 10
myArray[3]= 15
for(element in myArray){
println(element)
}
}
Kotlin
执行上面示例代码,得到以下结果 -
0
10
0
15
0
Shell
Kotlin数组示例3 - 使用arrayOf()和intArrayOf()函数: Kotlin中的数组也可以使用库函数声明,例如arrayOf()
,intArrayOf()
等。下面来看看使用arrayOf()
和intArrayOf()
函数的数组示例。
fun main(args: Array){
val name = arrayOf("Ajax","Prake","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, "Ajax","Prake")
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)
}
}
Kotlin
执行上面示例代码,得到以下结果 -
Ajax
Prake
Michel
John
Sumit
1
10
4
6
15
5
10
20
12
15
1
10
4
Ajax
Prake
5
10
20
12
15
Shell
Kotlin数组示例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)
}
}
Kotlin
执行上面示例代码,得到以下结果 -
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
at HelloWorldKt.main(HelloWorld.kt:4)
Shell
Kotlin数组例5 - 遍历使用范围:
还可使用索引范围(minValue..maxValue
)或(maxValue..minValue
)遍历Kotlin的数组元素。 让我们来看看一个使用范围遍历数组的示例。
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])
}
}
Kotlin
执行上面示例代码,得到以下结果 -
5
10
20
12
15
5
10
20
12
15
//原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/kotlin/kotlin-array.html