Array是Int
,String
等类似数据的集合。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中的数组示例。 在这个例子中,将看到如何初始化和遍历数组中的元素。
在这个例子中,只是初始化一个大小为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
还可以使用索引值重写数组的值。 数组的值是可以修改的,所以把它称为可变数组。 例如:
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中的数组也声明使用不同的函数,如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
假设尝试在索引位置插入一个大于数组大小的元素时,会发生什么? 它将抛出一个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的数组元素也使用索引范围(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