Kotlin数组

本文概述

  • 数组的构造函数
  • Kotlin数组声明-使用arrayOf()函数
  • Kotlin数组声明-使用intArrayOf()函数
  • 修改和访问数组元素
  • Kotlin数组get()函数示例
【Kotlin数组】数组是Int, String等相似数据类型的集合。Kotlinis中的Array本质上是可变的, 具有固定大小, 这意味着我们可以对数组元素执行读写操作。
数组的构造函数数组构造函数以指定的大小和init函数声明。初始化函数用于返回数组元素及其索引。
Array(size: Int, init: (Int) -> T)

可以使用arrayOf(), intArrayOf(), charArrayOf(), booleanArrayOf(), longArrayOf(), shortArrayOf(), byteArrayOf()函数创建Kotlin Array。
Kotlin数组声明-使用arrayOf()函数
var myArray1 = arrayOf(1, 10, 4, 6, 15)var myArray2 = arrayOf< Int> (1, 10, 4, 6, 15)val myArray3 = arrayOf< String> ("Ajay", "Prakesh", "Michel", "John", "Sumit")var myArray4= arrayOf(1, 10, 4, "Ajay", "Prakesh")

Kotlin数组声明-使用intArrayOf()函数
var myArray5: IntArray = intArrayOf(5, 10, 20, 12, 15)

修改和访问数组元素Kotlin具有set()和get()函数, 可以分别直接修改和访问数组的特定元素。
set()函数用于在特定索引位置设置元素。这也可以通过在数组索引处分配元素来完成。数组get()函数用于从指定的索引中获取元素。
Kotlin数组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] = 6array2.set(2, 10)array2[3] = 8for(element in array1){println(element)}println()for(element in array2){println(element)}}

输出:
52641112108

Kotlin数组get()函数示例
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])}

输出:
131314

Kotlin阵列示例1:
在此示例中, 我们只是初始化一个大小为5且默认值为0的数组并遍历其元素。数组的索引值从0开始。数组的第一个元素位于索引值0, 最后一个元素比数组的大小小一个。
fun main(args: Array< String> ){var myArray = Array< Int> (5){0}for(element in myArray){println(element)}}

输出:
00000

Kotlin阵列示例2:
我们还可以使用其索引值重写数组的值。由于我们可以修改array的值, 所以将array称为可变属性。
例如:
fun main(args: Array< String> ){var myArray = Array< Int> (5){0}myArray[1]= 10myArray[3]= 15for(element in myArray){println(element)}}

输出:
0100150

Kotlin数组示例3-使用arrayOf()和intArrayOf()函数:
还可以使用库函数(例如arrayOf(), intArrayOf()等)声明Kotlin中的数组。让我们来看一下使用arrayOf()和intArrayOf()函数的数组示例。
fun main(args: Array< String> ){val name = arrayOf< String> ("Ajay", "Prakesh", "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, "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)}}

输出:
AjayPrakeshMichelJohnSumit11046155102012151104AjayPrakesh510152025

Kotlin阵列示例4
假设当我们尝试在大于数组大小的索引位置插入元素时, 会发生什么?
它将抛出ArrayIndexOutOfBoundException。这是因为我们尝试插入元素时不存在索引值。因此, 数组称为固定大小长度。例如:
fun main(args: Array< String> ){var myArray5: IntArray = intArrayOf(5, 10, 20, 12, 15)myArray5[6]=18 // ArrayIndexOutOfBoundsExceptionfor(element in myArray5){println(element)}}

输出:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6 at ArrayListKt.main(Array.kt:4)

Kotlin数组示例5-使用范围遍历:
还使用索引范围(minValue..maxValue)或(maxValue..minValue)遍历Kotlin的数组元素。让我们看一个使用范围遍历数组的示例。
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])}}

输出:
510201215510201215

    推荐阅读