【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

相关推荐
世人万千丶1 小时前
鸿蒙日志体系高级应用:HiLog分级输出/隐私脱敏/远程日志采集/线上问题精准溯源方案
学习·harmonyos·鸿蒙
ctlover5 小时前
Python学习第 5 日
学习
六点_dn5 小时前
RabbitMQ学习笔记-部署和使用
笔记·学习·rabbitmq
红尘伴蝶舞7 小时前
Android 17 局域网调试与 ACCESS_LOCAL_NETWORK 权限隔离实践
kotlin·测试·设计
MartinYeung58 小时前
[论文学习]OSReward:为跨平台计算机使用奖励模型建立标准化评估
人工智能·学习
dong1326978 小时前
Agent Skills学习笔记
笔记·学习
for_ever_love__8 小时前
iOS:网络请求再学习
网络·学习·ios·objective-c
世人万千丶9 小时前
鸿蒙Crash高级捕获与异常监控:全局异常兜底/崩溃栈解析/符号表还原/智能聚类/闭环修复
学习·机器学习·华为·数据挖掘·harmonyos·鸿蒙·聚类
Jul1en_9 小时前
【Claude Code Compact】源码级别的学习上下文压缩
java·前端·学习·github·ai编程
fengci.9 小时前
Microweber CMS 未授权路径穿越漏洞(CVE-2026-65694)
android·开发语言·前端·学习·php