【Android学习】Kotlin随笔

文章目录

  • [一. 集合](#一. 集合)
    • [1. 安全获取集合元素](#1. 安全获取集合元素)
    • [2. mutableList](#2. mutableList)
    • [3. list遍历](#3. list遍历)
    • [4. List 通过解构一次性给多个元素赋值](#4. List 通过解构一次性给多个元素赋值)
    • [5. Set集合](#5. Set集合)

一. 集合

1. 安全获取集合元素

List.getOrElse(index: Int, defaultValue: (Int) -> T): T 函数原型 :

List.getOrNull(index: Int): T? 函数原型 :

2. mutableList

  • 添加元素运算符 += 和 删除元素运算符 -=
    运算符重载 : MutableList 集合 还有一些 运算符重载 , 添加元素运算符 += 和 删除元素运算符 -= ;
kotlin 复制代码
mutableList += "Jack"
mutableList -= "Tom"
//等价于
mutableList.add("Jack")
mutableList.remove("Tom")
  • 通过 Lambda 表达式筛选要删除的元素
kotlin 复制代码
fun main() {
    // 创建可变列表集合
    val mutableList = mutableListOf("Tom", "Jerry")
    // 通过 Lambda 表达式筛选要操作的元素
    // 删除包含 字母 T 的元素
    mutableList.removeIf {
        it.contains("T")
    }
    println(mutableList)
}

3. list遍历

kotlin 复制代码
fun main() {
    // 创建可变列表集合
    val list = listOf("Tom", "Jerry", "Jack")

    // 使用 for in 循环遍历
    for (name in list) {
        println("for : $name")
    }

    // 使用 forEach 遍历
    list.forEach {
        println("forEach : $it")
    }

    // 遍历时获取索引位置
    list.forEachIndexed { index, s ->
        println("$index : $s")
    }
}
// 输出结果
for : Tom
for : Jerry
for : Jack
forEach : Tom
forEach : Jerry
forEach : Jack
0 : Tom
1 : Jerry
2 : Jack

4. List 通过解构一次性给多个元素赋值

kotlin 复制代码
fun main() {
    // 创建可变列表集合
    val list = listOf("Tom", "Jerry", "Jack")

    // 使用 list 集合一次性给 2 个元素赋值, 第 1 个元素跳过
    val (name1, _, name3) = list

    println("name1 = $name1")
    println("name3 = $name3")
}
//
name1 = Tom
name3 = Jack

5. Set集合

https://blog.csdn.net/shulianghan/article/details/128717667

// TODO 250119

相关推荐
€:0ͤ̀҉6 分钟前
汇编学习笔记(自用)
汇编·笔记·学习
一缕叶41 分钟前
mybatis学习(7/134)
学习
LucianaiB1 小时前
C语言之装甲车库车辆动态监控辅助记录系统
android·c语言·开发语言·低代码
limingade1 小时前
从零搭建一套远程手机的桌面操控和文件传输的小工具
android·adb·智能手机·信息与通信·android runtime
2401_897915651 小时前
Android Jetpack 之 Paging3的一些踩坑记录
android·android jetpack
ghostwritten1 小时前
实战经验:使用 Python 的 PyPDF 进行 PDF 操作
android·python·pdf
jacob~2 小时前
C++学习第五天
学习
2401_897915652 小时前
Android Http基础:图片下载并显示和WebView的应用
android·网络协议·http
李歘歘3 小时前
Golang——包的循环引用问题(import cycle not allowed)和匿名导入
android·数据库·golang