Kotlin教程:数组的构造函数与示例

2020-04-2020:45:44编程语言入门到精通Comments2,208 views字数 3119阅读模式

数组是IntString等类似数据类型的集合。Kotlin中的数组本质上是可变的,具有固定大小,这意味着可以对数组元素执行读写操作。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

数组的构造函数

使用指定的大小和init函数声明数组构造函数。 init函数用于返回带有索引的数组元素。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

Array(size: Int, init: (Int) -> T)

可以使用arrayOf()intArrayOf()charArrayOf()booleanArrayOf()longArrayOf()shortArrayOf()byteArrayOf()函数创建Kotlin数组。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

Kotlin数组声明 - 使用arrayOf()函数文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

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","Curry")  
var myArray4= arrayOf(1,10,4, "Ajax","Prake")
Kotlin

Kotlin数组声明 - 使用intArrayOf()函数文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

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

修改和访问数组的元素

Kotlin数组有set()get()函数,可以分别直接修改和访问数组的特定元素。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

数组set()函数用于在特定索引位置设置元素。 这也可以通过在数组索引处分配元素来完成。 数组 get()函数用于从指定的索引获取元素。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

Kotlin数组set()函数示例文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

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)
    }
}
Kotlin

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

5
2
6
4

11
12
10
8
Shell

Kotlin数组get()函数示例文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

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])
}
Kotlin

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

1
3

13
14
Shell

Kotlin数组示例1:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

在这个例子中,只是初始化一个大小为5的数组,默认值为0并遍历元素。 数组的索引值从0开始。数组的第一个元素放在索引值0,最后一个元素放在一个小于数组大小1索引的元素。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

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

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

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

0
0
0
0
0
Shell

Kotlin数组示例2:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

还可以使用其索引值重写数组的值。 因为可以修改数组的值,所以数组称为可变属性。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

例如:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

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

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

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

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

0
10
0
15
0
Shell

Kotlin数组示例3 - 使用arrayOf()和intArrayOf()函数:
Kotlin中的数组也可以使用库函数声明,例如arrayOf()intArrayOf()等。下面来看看使用arrayOf()intArrayOf()函数的数组示例。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

fun main(args: Array<String>){
    val name = arrayOf<String>("Ajax","Prake","Michel","John","Sumit")
    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()
    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

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

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文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

假设当尝试在索引位置插入一个大于数组大小的元素时会发生什么情况?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

它将抛出一个ArrayIndexOutOfBoundException。 这是因为尝试插入元素时不存在索引值。 因此,数组是固定大小长度。 例如:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

fun main(args: Array<String>){
    var myArray5: IntArray = intArrayOf(5,10,20,12,15)

    myArray5[6]=18 // ArrayIndexOutOfBoundsException
    for(element in myArray5){
        println(element)
    }
}
Kotlin

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
    at HelloWorldKt.main(HelloWorld.kt:4)
Shell

Kotlin数组例5 - 遍历使用范围:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

还可使用索引范围(minValue..maxValue)或(maxValue..minValue)遍历Kotlin的数组元素。 让我们来看看一个使用范围遍历数组的示例。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

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])
    }
}
Kotlin

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

5
10
20
12
15

5
10
20
12
15

//原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/kotlin/kotlin-array.html文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18268.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/18268.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定