文章目录
- 一、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 集合 中添加一些元素 , 可使用 = 运算符 :
mutableList = "Jack"
其效果等同于
代码语言:javascript复制mutableList.add("Jack")
- 从 MutableList 集合 中删除一些元素 , 可使用 -= 运算符 :
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]