二、Kotlin数组(Array)

数组是一种初始化时指定容器大小,不可以动态调整其大小的容器。元素按顺序存储在一串连续的内存段上

一、数组的创建

1、arrayOf创建数组 创建一个数组并传递元素值给它,集合中的元素可以是任意类型

Kotlin 复制代码
val  array = arrayOf(1,2,4)
/// 元素可以是任意类型
var array2 = arrayOf(1,true,"2")

var array3: Array<Int> =  arrayOf(1,2,3)
var array4: Array<Any> = arrayOf(1,true,"2")

2、arrayOfNulls创建数组 创建一个指定大小的、所有元素都为空的数组,但必须指定集合中的元素类型

Kotlin 复制代码
// 创建一个指定大小的,所有元素都为空的数组
var arrayOfNUlls = arrayOfNulls<String>(5)
arrayOfNUlls[0] = "dd"
arrayOfNUlls[1] = "33"

3、动态创建数组(一般用不到)用接受数组大小以及一个方法参数的 Array 构造方法,用作参数的方法能够返回给定索引的每个元素初始值:

scss 复制代码
// 创建一个 Array<String> 初始化为["0","1","4","9","16"
var array = Array(5){
    it -> (it * it).toString()
}

二、原生类型数组

Kotlin 复制代码
/// 字节数组
var bytes = ByteArray(size = 5)
bytes[0] = 0

/// IntArray
var ints = IntArray(size = 5)
ints[0] = 2

/// 注意这里it是它索引下标值,所以这是创建一个长度为5的IntArray[0,2,4,6,8]
var intarray = IntArray(size = 5){it * 2}

三、数组遍历

1、for循环--元素遍历

Kotlin 复制代码
var a = arrayOf(1,3,3,4,5)
for (item in a){
    println(item)
}

2、for循环--下标遍历

Kotlin 复制代码
var a = arrayOf(1,3,3,4,5)
for (index in a.indices){
    println(index.toString() + "->" + a[index])

    /**
     * 0->1
     * 1->3
     * 2->3
     * 3->4
     * 4->5
     */
}

3、for循环--遍历元素(带索引)

scss 复制代码
var a = arrayOf(1,3,3,4,5)
for ((index, item ) in a.withIndex()){
    println("$index -> $item")

    /**
     * 0 -> 1
     * 1 -> 3
     * 2 -> 3
     * 3 -> 4
     * 4 -> 5
     */
}

4、forEach遍历数组

Kotlin 复制代码
var a = arrayOf(1,3,3,4,5)
a.forEach { it
    println(it) // it指的是元素 1 3 3 4 5
}

5、forEach增强版

Kotlin 复制代码
var a = arrayOf(1,3,3,4,5)
a.forEachIndexed { index, i ->
    println("$index -> $i")
    /**
     * 0 -> 1
     * 1 -> 3
     * 2 -> 3
     * 3 -> 4
     * 4 -> 5
     */
}

四、数组翻转

css 复制代码
var a = arrayOf(1,3,3,4,5)
var b = a.reverse()
相关推荐
DogDaoDao7 小时前
Android 硬件编码器参数完全指南:MediaCodec 深度解析
android·音视频·视频编解码·h264·硬编码·视频直播·mediacodec
JohnnyDeng948 小时前
Android 自定义 View:Canvas 绘图与事件分发深度解析
android
Android小码家11 小时前
Framework之Launcher小窗开发
android·framework·虚拟屏·小窗
赏金术士12 小时前
第七章:状态管理实战与架构总结
android·ui·kotlin·compose
颂love13 小时前
MySQL的执行流程
android·数据库·mysql
云起SAAS17 小时前
抖音小游戏源码 - 消消乐 | 含激励广告+成就系统 | 开箱即用商业级消除游戏模板
android·游戏·广告联盟·看激励广告联盟流量主·抖音小游戏源码 - 消消乐
大貔貅喝啤酒19 小时前
基于Windows下载安装Android Studio 3.3.2版本教程(2026详细图文版)
android·java·windows·android studio
程序员码歌19 小时前
OpenSpec 到 Superpowers:AI 编码从说清到做对
android·前端·人工智能
2501_9151063219 小时前
深入解析无源码iOS加固原理与方案,保护应用安全
android·安全·ios·小程序·uni-app·cocoa·iphone
黄林晴1 天前
重磅官宣:Android UI 开发正式进入 Compose-first 时代
android·google io