数组是Int,String等相似数据类型的集合。Kotlinis中的Array数组本质上是可变的,具有固定大小,这意味着无涯教程可以对数组元素执行读取和写入操作。
数组构造函数以指定的size 和 init 函数声明。 init函数用于返回数组元素及其索引。
Array(size: Int, init: (Int) -> T)
可以使用 arrayOf(),IntArrayOf(),charArrayOf(), booleahArrayOf(),longArrayOf(), shortArrayOf(), byteArrayOf()函数。
var myArray1 = arrayOf(1,10,4,6,15) var myArray2 = arrayOf<Int>(1,10,4,6,15) val myArray3 = arrayOf<String>("Ajay","Prakesh","Michel","Learnfk","Sumit") var myArray4= arrayOf(1,10,4, "Ajay","Prakesh")
var myArray5: IntArray = intArrayOf(5,10,20,12,15)
Kotlin具有 set()和 get() 函数,可以分别直接修改和访问数组的特定元素。
set()函数用于将元素设置在特定的索引位置。这也可以通过在数组索引处分配元素来完成。数组get()函数用于从指定的索引中获取元素。
array set()函数示例
fun main(args: Array<String>) { val array1 = arrayOf(1,2,3,4) val array2 = arrayOf<Long>(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
fun main(args: Array<String>) { val array1 = arrayOf(1,2,3,4) val array2 = arrayOf<Long>(11,12,13,14) println(array1.get(0)) println(array1[2]) println() println(array2.get(2)) println(array2[3]) }
输出:
1 3 13 14
在此示例中,无涯教程只是初始化一个大小为5且默认值为0的数组并遍历其元素。数组的索引值从0开始。数组的第一个元素位于索引值0,最后一个元素比数组的大小小一个。
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
还可以使用诸如arrayOf(),iIntArrayOf()等库函数来声明Kotlin中的数组。让无涯教程来看一下使用arrayOf()和iIntArrayOf()函数的数组示例。
fun main(args: Array<String>){ val name = arrayOf<String>("Ajay","Prakesh","Michel","Learnfk","Sumit") var myArray2 = arrayOf<Int>(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 Learnfk Sumit 1 10 4 6 15 5 10 20 12 15 1 10 4 Ajay Prakesh 5 10 15 20 25
假设当无涯教程尝试在大于数组大小的索引位置插入元素时,会发生什么?
它将抛出ArrayIndexOutOfBoundException。这是因为在尝试插入元素时不存在索引值。因此,数组称为固定大小长度。例如:
链接:https://www.learnfk.comhttps://www.learnfk.com/kotlin/kotlin-array.html
来源:LearnFk无涯教程网
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
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)