【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

相关推荐
limuyang21 小时前
Android RenderScript-toolkit库,替换老式的脚本方式(常用于高斯模糊)
android
柿蒂2 小时前
产品需求驱动下的技术演进:动态缩放View的不同方案
android·kotlin·android jetpack
Andy_GF4 小时前
鸿蒙Next在蒲公英平台分发测试包
android·ios·harmonyos
霜绛4 小时前
Unity笔记(六)——Mathf、三角函数、坐标系、向量
笔记·学习·unity·游戏引擎
long3165 小时前
代理设计模式
java·学习·程序人生·设计模式·代理模式
恋猫de小郭5 小时前
iOS 26 正式版即将发布,Flutter 完成全新 devicectl + lldb 的 Debug JIT 运行支持
android·前端·flutter
MThinker6 小时前
14.examples\01-Micropython-Basics\demo_yield.py 加强版
python·学习·智能硬件·micropython·canmv·k230
月盈缺6 小时前
学习嵌入式的第二十五天——哈希表和内核链表
学习·链表·散列表
幻雨様6 小时前
UE5多人MOBA+GAS 54、用户登录和会话创建请求
android·ue5