集合类型 | 特性和用途 |
---|---|
List | 有序集合,可以包含重复元素。可变列表是可修改的,不可变列表是只读的。 |
Set | 不包含重复元素的无序集合。可变集合是可修改的,不可变集合是只读的。 |
Map | 键值对的无序集合。可变映射是可修改的,不可变映射是只读的。 |
MutableList | 可变列表,可以进行添加、删除和修改操作。 |
MutableSet | 可变集合,可以进行添加、删除和修改操作。 |
MutableMap | 可变映射,可以进行添加、删除和修改操作。 |
ArrayList | 可变列表,实现了List接口。可以进行随机访问和修改操作。 |
LinkedList | 可变列表,实现了List接口。可以进行添加和删除操作。 |
HashSet | 可变集合,实现了Set接口。基于哈希表实现,元素无序。 |
TreeSet | 可变集合,实现了Set接口。基于红黑树实现,元素有序。 |
HashMap | 可变映射,实现了Map接口。基于哈希表实现,键无序。 |
TreeMap | 可变映射,实现了Map接口。基于红黑树实现,键有序。 |
集合类型的创建采用xxxOf
的方式,其中xxx可以是List、Set或Map。这些方法接受任意数量的参数,并将它们添加到新创建的集合,下面是一些具体的代码示例:
// 创建不可变List
val list = listOf("apple", "banana", "orange")
println(list) // 输出:[apple, banana, orange]
// 创建可变List
val mutableList = mutableListOf<Int>(1, 2, 3)
mutableList.add(4)
println(mutableList) // 输出:[1, 2, 3, 4]
// 创建不可变Set
val set = setOf("apple", "banana", "orange", "apple")
println(set) // 输出:[apple, banana, orange]
// 创建可变Set
val mutableSet = mutableSetOf<Int>(1, 2, 3)
mutableSet.add(4)
mutableSet.add(3)
println(mutableSet) // 输出:[1, 2, 3, 4]
// 创建不可变Map
val map = mapOf(1 to "one", 2 to "two", 3 to "three")
println(map) // 输出:{1=one, 2=two, 3=three}
// 创建可变Map
val mutableMap = mutableMapOf<Int, String>()
mutableMap[1] = "one"
mutableMap[2] = "two"
mutableMap.put(3, "three")
println(mutableMap) // 输出:{1=one, 2=two, 3=three}
// 创建可变Map
val mutableMap = mutableMapOf<Int, String>()
mutableMap[1] = "one"
mutableMap[2] = "two"
mutableMap.put(3, "three")
println(mutableMap) // 输出:{1=one, 2=two, 3=three}
// 修改Map中的值
mutableMap[2] = "new value"
println(mutableMap) // 输出:{1=one, 2=new value, 3=three}
// 删除Map中的键值对
mutableMap.remove(3)
println(mutableMap) // 输出:{1=one, 2=new value}
// 创建ArrayList
val arrayList = arrayListOf<Int>(1, 2, 3)
arrayList.add(4)
println(arrayList) // 输出:[1, 2, 3, 4]
// 获取ArrayList中的元素
val element = arrayList[0]
println(element) // 输出:1
// 删除ArrayList中的元素
arrayList.removeAt(2)
println(arrayList) // 输出:[1, 2, 4]
// 创建LinkedList
val linkedList = LinkedList<Int>()
linkedList.add(1)
linkedList.add(2)
linkedList.add(3)
println(linkedList) // 输出:[1, 2, 3]
// 在指定位置添加元素
linkedList.add(1, 4)
println(linkedList) // 输出:[1, 4, 2, 3]
// 删除指定位置的元素
linkedList.removeAt(2)
println(linkedList) // 输出:[1, 4, 3]
// 创建HashSet
val hashSet = hashSetOf<String>("apple", "banana", "orange", "apple")
println(hashSet) // 输出:[orange, apple, banana]
// 添加元素
hashSet
// 创建可变集合
val mutableSet = mutableSetOf<Int>(1, 2, 3, 4)
// 添加元素
mutableSet.add(5)
// 删除元素
mutableSet.remove(4)
// 修改元素(无法直接修改元素,需要先删除再添加)
mutableSet.remove(3)
mutableSet.add(6)
// 循环遍历集合元素
for (element in mutableSet) {
println(element)
}
// 创建可变映射
val mutableMap = mutableMapOf<String, Int>("one" to 1, "two" to 2, "three" to 3)
// 添加键值对
mutableMap["four"] = 4
// 删除键值对
mutableMap.remove("three")
// 修改键值对
mutableMap["two"] = 22
// 循环遍历键值对
for ((key, value) in mutableMap) {
println("$key: $value")
}
// 创建可变列表
val arrayList = arrayListOf<String>("apple", "banana", "orange")
// 添加元素
arrayList.add("grape")
// 删除元素
arrayList.remove("banana")
// 修改元素
arrayList[1] = "kiwi"
// 循环遍历列表元素
for (element in arrayList) {
println(element)
}
// 创建可变列表
val linkedList = LinkedList<String>(listOf("apple", "banana", "orange"))
// 添加元素
linkedList.add("grape")
// 删除元素
linkedList.remove("banana")
// 修改元素
linkedList[1] = "kiwi"
// 循环遍历列表元素
for (element in linkedList) {
println(element)
}
// 创建可变集合
val hashSet = hashSetOf<Int>(1, 2, 3)
// 添加元素
hashSet.add(4)
// 删除元素
hashSet.remove(3)
// 循环遍历集合元素
for (element in hashSet) {
println(element)
}
// 创建可变集合
val treeSet = sortedSetOf<Int>(1, 3, 2)
// 添加元素
treeSet.add(4)
// 删除元素
treeSet.remove(3)
// 循环遍历集合元素
for (element in treeSet) {
println(element)
}
kotlin
// 创建可变映射
val hashMap = hashMapOf<String, Int>("one" to 1, "two" to 2, "three" to 3)
// 添加键值对
hashMap["four"] = 4
// 删除键值对
hashMap.remove("three")
// 修改键值对
hashMap["two"] = 22
// 循环遍历键值对
for ((key, value) in hashMap) {
println("$key: $value")
}