【Kotlin】集合操作 ② ( MutableList 可变列表集合 | 修改 MutableList 集合的 mutator 函数 )

2023-03-30 18:48:09 浏览数 (1)

文章目录

  • 一、MutableList 可变列表集合
  • 二、修改 MutableList 集合的 mutator 函数
    • 1、添加元素运算符 = 和 删除元素运算符 -=
    • 2、通过 Lambda 表达式筛选要删除的元素

一、MutableList 可变列表集合


使用 listOf 函数 创建的 List 集合 是 只读列表集合 ;

使用 mutableListOf 函数 创建的 MutableList 集合 是 可变列表集合 ;

调用 MutableList#toList 函数 , 可以 将 可变列表集合 转为 只读列表集合 ;

调用 List#toMutableList 函数 , 可以 将 只读列表集合 转为 可变列表集合 ;

代码示例 :

代码语言:javascript复制
fun main() {
    // 创建可变列表集合
    var mutableList = mutableListOf("Tom", "Jerry")
    // 添加元素
    mutableList.add("Jack")
    // 删除元素
    mutableList.remove("Tom")
    println(mutableList)

    // 将 可变列表集合 转为 只读列表集合
    val list: List<String> = mutableList.toList()
    // 将 只读列表集合 转为 可变列表集合
    val mutable: MutableList<String> = list.toMutableList()
}

执行结果 :

代码语言:javascript复制
[Jerry, Jack]

二、修改 MutableList 集合的 mutator 函数


修改 MutableList 集合 的 函数 统称为 mutator 函数 ;

1、添加元素运算符 = 和 删除元素运算符 -=

运算符重载 : MutableList 集合 还有一些 运算符重载 , 添加元素运算符 = 和 删除元素运算符 -= ;

  • 向 MutableList 集合 中添加一些元素 , 可使用 = 运算符 :
代码语言:javascript复制
mutableList  = "Jack"

其效果等同于

代码语言:javascript复制
mutableList.add("Jack")
  • 从 MutableList 集合 中删除一些元素 , 可使用 -= 运算符 :
代码语言:javascript复制
mutableList -= "Tom"

其效果等同于

代码语言:javascript复制
mutableList.remove("Tom")

2、通过 Lambda 表达式筛选要删除的元素

通过 Lambda 表达式筛选要删除的元素 : Lambda 表达式返回 boolean 值 , 如果返回 true , 则删除该元素 , 返回 false 则不处理该元素 ;

代码语言:javascript复制
fun main() {
    // 创建可变列表集合
    val mutableList = mutableListOf("Tom", "Jerry")
    // 通过 Lambda 表达式筛选要操作的元素
    // 删除包含 字母 T 的元素
    mutableList.removeIf {
        it.contains("T")
    }
    println(mutableList)
}

执行结果 :

代码语言:javascript复制
[Jerry]

0 人点赞