Kotlin中的List集合

简介: Kotlin中的List集合

在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中高效地管理和操作集合数据。

目录
相关文章
|
5天前
|
Dart
Dart之集合详解(List、Set、Map)
Dart之集合详解(List、Set、Map)
9 1
|
5天前
|
安全 Java
java线程之List集合并发安全问题及解决方案
java线程之List集合并发安全问题及解决方案
11 1
|
17天前
|
索引
List集合(方法简介,集合遍历)
List集合(方法简介,集合遍历)
|
5天前
|
存储 消息中间件 算法
Java中的集合框架详解:List、Set、Map的使用场景
Java中的集合框架详解:List、Set、Map的使用场景
|
13天前
|
存储 Java 索引
告别Java集合小白!一文读懂List的精髓
【6月更文挑战第17天】Java中的List接口作为有序集合,允许存储和操作有序元素,支持重复值。ArrayList和LinkedList是常见实现类:ArrayList基于数组,适合快速访问但插入删除慢;LinkedList基于链表,插入删除快但访问慢。了解其核心概念、方法及泛型使用,能提升编程效率和代码质量。示例代码展示了添加和访问元素。通过深入学习,可以更好地掌握List的高级用法。
|
3天前
|
存储 Dart
Dart中的集合类型:List(数组/列表)
Dart中的集合类型:List(数组/列表)
6 0
|
3天前
|
存储 API Kotlin
Kotlin中的Map集合
Kotlin中的Map集合
5 0
|
3天前
|
存储 API Kotlin
Kotlin中的Set集合
Kotlin中的Set集合
5 0
|
3天前
|
并行计算 Java API
Java List集合取交集的八种不同实现方式
Java List集合取交集的八种不同实现方式
|
5天前
|
Java
JAVA构建List集合为树形结构的方法和代码
JAVA构建List集合为树形结构的方法和代码