集合概述
继承关系(List、Set和Map均继承了Collection)
List
List
是一个接口,用于表示列表(List)数据结构。它是一个有序的集合,允许重复元素。
listOf
创建的列表是不可变的,而 mutableListOf
创建的列表是可变的,允许对其进行添加、删除和更新操作。
fun main() {
val numbers = listOf(1, 2, 3, 4, 5)
println(numbers) //输出:[1, 2, 3, 4, 5]
val names = mutableListOf("Alice", "Bob", "Charlie")
names.add("Dave") // 添加元素
names.remove("Bob") // 删除元素
names[0] = "Alex" // 更新元素
println(names) //输出:[Alex, Charlie, Dave]
println("size : ${names.size}") //输出:size : 3
for (number in numbers) {
print(number) //输出:12345
}
}
Set
Set 是一个接口,用于表示集合(Set)数据结构。它是一个不包含重复元素的无序集合。
Set
接口定义了一些常用的操作和属性,例如添加元素、删除元素、判断元素是否存在等。你可以使用 setOf
函数创建一个不可变的 Set
,或者使用 mutableSetOf
函数创建一个可变的 Set
。
fun main() {
val numbers = setOf(1, 2, 3, 4, 5)
println(numbers) //输出:[1, 2, 3, 4, 5]
val names: MutableSet<String> = mutableSetOf("Alice", "Bob", "Charlie")
println(names) //输出:[Alice, Bob, Charlie]
names.add("Dave")
names.remove("Bob")
println(names) //输出:[Alice, Charlie, Dave]
println("contains Alice: ${names.contains("Alice")}") //输出:contains Alice: true
for (name in names) {
print(name) //AliceCharlieDave
}
}
Map
Map
是一个接口,用于表示映射(Map)数据结构。它是一种键值对的集合,其中每个键都是唯一的。
Map
接口定义了一些常用的操作和属性,例如添加键值对、获取值、判断键是否存在等。你可以使用 mapOf
函数创建一个不可变的 Map
,或者使用 mutableMapOf
函数创建一个可变的 Map
。
fun main() {
val scores: Map<String, Int> =