Kotlin - 数组

Kotlin - 数组 首页 / Kotlin入门教程 / Kotlin - 数组

数组是Int,String等相似数据类型的集合。Kotlinis中的Array数组本质上是可变的,具有固定大小,这意味着无涯教程可以对数组元素执行读取和写入操作。

构造函数

数组构造函数以指定的size 和 init 函数声明。 init函数用于返回数组元素及其索引。

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

可以使用 arrayOf()IntArrayOf()charArrayOf(), booleahArrayOf(),longArrayOf(), shortArrayOf(), byteArrayOf()函数。

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","Learnfk","Sumit")
var myArray4= arrayOf(1,10,4, "Ajay","Prakesh")

iIntArrayOf()函数

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

Set()和Get()函数

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
array 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])

}

输出:

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

朱赟的技术管理课 -〔朱赟〕

从0开始学游戏开发 -〔蔡能〕

10x程序员工作法 -〔郑晔〕

Service Mesh实战 -〔马若飞〕

成为AI产品经理 -〔刘海丰〕

eBPF核心技术与实战 -〔倪朋飞〕

超级访谈:对话道哥 -〔吴翰清(道哥)〕

互联网人的数字化企业生存指南 -〔沈欣〕

工程师个人发展指南 -〔李云〕

好记忆不如烂笔头。留下您的足迹吧 :)