【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

相关推荐
m4Rk_6 小时前
【论文阅读】Agent 记忆机制(67):MemPO——用记忆级信用分配训练 Agent 主动管理长程上下文
论文阅读·人工智能·学习·开源·github
下辈子不要当码农6 小时前
ARM学习(1)
学习·arm
東隅已逝,桑榆非晚7 小时前
vector(模拟实现)
c++·笔记·学习
鱼听禅7 小时前
C# 学习笔记-使用 类型化客户端搭建HTTP客户端服务
学习·http·c#·工厂方法模式
邪修king7 小时前
Re:Linux系统篇(二十六):文件系统(二):Ext 文件系统底层详解:从 inode、块组到软硬链接,结合 Windows 讲透文件管理本质
android·java·linux
高亦真7 小时前
今天是学习嵌入式的第38天
linux·学习·算法
又见情义7 小时前
RK3568 Android 13 版本号管理实战:基于 ROCKCHIP_BUILD_NUMBER 的定制化方案
android
JMchen8 小时前
第 9 篇|网络请求基础 —— 从 HttpURLConnection 到 OkHttp
kotlin·android studio
传奇开心果编程8 小时前
【Rust入门知识点学与练】第33课:异步编程入门(async/await)强化
开发语言·学习·rust
终端安全笔记8 小时前
iOS 27 强制 TLS 1.2:租赁设备的注册链路会在哪一环断
android·网络·安全·ios·智能手机