Step into Kotlin - 08 - 数组

来源:互联网 发布:面试谈谈工作经历知乎 编辑:程序博客网 时间:2024/05/20 16:33

目录

    • 数组
      • 概述
      • 创建数组
      • 空数组
      • 访问数组元素
      • 修改元素
      • 遍历数组
      • 遍历数组下标
      • 检查下标

摘要

创建数组(3种方法),空数组,访问元素,遍历数组,检查下标

数组

概述

  • Array 类代表着数组
  • [] 可以用于访问数组的元素,实际上 [] 被进行了操作符的重载,调用的是 Array 类的 setter 和 getter 方法

创建数组

直接指定长度

val fixedSizeArray = arrayOfNulls<Int>(5)

使用装箱操作

val arr = arrayOf(1, 2, 3)val intArr = intArrayOf(1, 2, 3)    //同理还有 booleanArrayOf() 等

使用闭包进行初始化

val asc = Array(5, { i -> i * i })  //0,1,4,9,16

空数组

 val empty = emptyArray<Int>()

长度为 0 的空数组

访问数组元素

val arr = arrayOf(1, 2, 3)println(asc[1])         //  1println(asc.get(1))     //  1//    println(asc[10])      ArrayIndexOutOfBoundsException

[] 虽然调用的是 setter 和 getter 方法,但是编译成字节码时会被进行优化,变成直接访问数组的内存地址,所以不会造成性能损失。

修改元素

asc[1] = 10

遍历数组

for (i in asc) {    println(i)}

此操作不会创建 iterator 对象,不会影响性能

遍历数组下标

for (j in asc.indices) {    println(j)}

此操作不会创建 iterator 对象,不会影响性能

检查下标

if (i in asc.indices) { // i>=0 && i<asc.size()    println("indices:" + i)}
0 0
原创粉丝点击