2 Kotlin常用集合类型

1 常用集合类型

集合类型 特性和用途
List 有序集合,可以包含重复元素。可变列表是可修改的,不可变列表是只读的。
Set 不包含重复元素的无序集合。可变集合是可修改的,不可变集合是只读的。
Map 键值对的无序集合。可变映射是可修改的,不可变映射是只读的。
MutableList 可变列表,可以进行添加、删除和修改操作。
MutableSet 可变集合,可以进行添加、删除和修改操作。
MutableMap 可变映射,可以进行添加、删除和修改操作。
ArrayList 可变列表,实现了List接口。可以进行随机访问和修改操作。
LinkedList 可变列表,实现了List接口。可以进行添加和删除操作。
HashSet 可变集合,实现了Set接口。基于哈希表实现,元素无序。
TreeSet 可变集合,实现了Set接口。基于红黑树实现,元素有序。
HashMap 可变映射,实现了Map接口。基于哈希表实现,键无序。
TreeMap 可变映射,实现了Map接口。基于红黑树实现,键有序。

2 用法示例

集合类型的创建采用xxxOf的方式,其中xxx可以是List、Set或Map。这些方法接受任意数量的参数,并将它们添加到新创建的集合,下面是一些具体的代码示例:

List

// 创建不可变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

// 创建不可变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

// 创建不可变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}

MutableMap

// 创建可变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

// 创建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

// 创建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

// 创建HashSet
val hashSet = hashSetOf<String>("apple", "banana", "orange", "apple")
println(hashSet) // 输出:[orange, apple, banana]

// 添加元素
hashSet

MutableSet

// 创建可变集合
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)
}

MutableMap

// 创建可变映射
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")
}

ArrayList

// 创建可变列表
val arrayList = arrayListOf<String>("apple", "banana", "orange")

// 添加元素
arrayList.add("grape")

// 删除元素
arrayList.remove("banana")

// 修改元素
arrayList[1] = "kiwi"

// 循环遍历列表元素
for (element in arrayList) {
    println(element)
}

LinkedList

// 创建可变列表
val linkedList = LinkedList<String>(listOf("apple", "banana", "orange"))

// 添加元素
linkedList.add("grape")

// 删除元素
linkedList.remove("banana")

// 修改元素
linkedList[1] = "kiwi"

// 循环遍历列表元素
for (element in linkedList) {
    println(element)
}

HashSet

// 创建可变集合
val hashSet = hashSetOf<Int>(1, 2, 3)

// 添加元素
hashSet.add(4)

// 删除元素
hashSet.remove(3)

// 循环遍历集合元素
for (element in hashSet) {
    println(element)
}

TreeSet

// 创建可变集合
val treeSet = sortedSetOf<Int>(1, 3, 2)

// 添加元素
treeSet.add(4)

// 删除元素
treeSet.remove(3)

// 循环遍历集合元素
for (element in treeSet) {
    println(element)
}

HashMap

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")
}

你可能感兴趣的:(Kotlin编程,kotlin,android,开发语言)