当前位置:首页 > 编程笔记 > 正文
已解决

Kotlin中的List集合

来自网友在路上 148848提问 提问时间:2023-10-25 22:53:33阅读次数: 48

最佳答案 问答题库488位专家为你答疑解惑

在Kotlin中,List集合用于存储一组有序的元素。List集合分为可变集合(MutableList)和不可变集合(List)。本篇博客将分别介绍可变集合和不可变集合,并提供相关的API示例代码。

不可变集合(List)

不可变集合是指在创建后其内容不可更改的集合。在Kotlin中,我们可以使用listOf函数来创建不可变集合。以下是对不可变集合的一些常用操作:

// 创建空的不可变集合
val mList: List<Int> = listOf()// 创建包含元素的不可变集合
val mList1: List<Int> = listOf(1, 2, 3)
val mList2: List<Int> = listOf(1, 2, 3, 4, 5, 3)// 判断集合是否为空
if (mList2.isEmpty()) {println("集合中没有元素")
} else {// 获取集合中的元素个数println("集合中的元素个数为:${mList2.size}")
}// 是否包含一个元素
if (mList2.contains(1)) {println("集合中包含元素1")
}// 是否包含多个元素
if (mList2.containsAll(mList1)) {println("集合中包含元素" + mList1)
}// 遍历集合中的所有元素
for (element in mList2) {print("$element\t") // 输出:1	2	3	4	5	3
}
println()// 检索元素
println("集合中索引为0的元素是:${mList2.get(0)}") // 输出:集合中索引为0的元素是:1
println("元素3第一次出现的位置:${mList2.indexOf(3)}") // 输出:元素3第一次出现的位置:2
println("元素3最后出现的位置:${mList2.lastIndexOf(3)}") // 输出:元素3最后出现的位置:5
println("截取集合中索引为1-4的元素:${mList2.subList(1, 4)}") // 输出:截取集合中索引为1-4的元素:[2, 3, 4]

在上述代码中,我们首先通过listOf函数创建了不可变集合mList2,然后对其进行了一系列操作。我们可以判断集合是否为空,获取集合的大小,判断集合是否包含某个元素,遍历集合中的所有元素,检索元素的位置以及截取集合的子集。

可变集合(MutableList)

可变集合是指在创建后可以修改其内容的集合。在Kotlin中,我们可以使用mutableListOf函数来创建可变集合。除了不可变集合支持的操作外,可变集合还可以进行添加、插入、移除和修改操作。以下是对可变集合的一些常用操作:

// 创建可变集合
var muList: MutableList<Int> = mutableListOf(1, 2, 3)// 添加一个元素
muList.add(6) // [1, 2, 3, 6]// 插入一个元素
muList.add(1, 5) // [1, 5, 2, 3, 6]// 移除一个元素(按值)
muList.remove(1) // [5, 2, 3, 6]// 移除一个元素(按索引)
muList.removeAt(0) // [2, 3, 6]// 修改元素
muList.set(0, 99) // [99, 3, 6]println(muList) // 输出:[99, 3, 6]// 清空集合
muList.clear()
println(muList) // 输出:[]

在上述代码中,我们首先通过mutableListOf函数创建了可变集合muList,然后对其进行了一系列操作。我们可以添加元素到可变集合中,插入元素到指定位置,移除元素(按值或按索引),修改元素的值,以及清空集合。

总结:

  • 不可变集合(List)是指创建后内容不可更改的集合,使用listOf函数创建。
  • 可变集合(MutableList)是指创建后可以修改内容的集合,使用mutableListOf函数创建。
  • 不可变集合和可变集合都支持常用的集合操作,如判断是否为空、获取元素个数、检索元素位置等。
  • 可变集合还支持添加、插入、移除和修改元素的操作。

通过合理地选择不可变集合和可变集合,我们可以在Kotlin中高效地管理和操作集合数据。

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Kotlin中的List集合":http://eshow365.cn/6-24526-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!