Kotlin 集合
集合
Kotlin 的集合分为可变集合和不可变集合。可变集合使用 var
修饰,不可变集合使用 val
修饰。可变集合使用 mutableListOf()
、mutableSetOf()
、mutableMapOf()
等函数创建,不可变集合使用 listOf()
、setOf()
、mapOf()
等函数创建。
val list = mutableListOf("apple", "banana", "cherry")
val set = mutableSetOf("apple", "banana", "cherry")
val map = mutableMapOf("apple" to 1, "banana" to 2, "cherry" to 3)
List
list 是有序的集合,在 kotlin 中 list 是可变或只读,使用 listOf()
创建只读 list,使用 mutableListOf()
创建可变 list。
val list = listOf("apple", "banana", "cherry")
val mutableList = mutableListOf("apple", "banana", "cherry")
Set
set 是无序的集合,在 kotlin 中 set 是可变或只读,使用 setOf()
创建只读 set,使用 mutableSetOf()
创建可变 set。
val set = setOf("apple", "banana", "cherry")
val mutableSet = mutableSetOf("apple", "banana", "cherry")
Map
map 是键值对的集合,在 kotlin 中 map 是可变或只读,使用 mapOf()
创建只读 map,使用 mutableMapOf()
创建可变 map。
val map = mapOf("apple" to 1, "banana" to 2, "cherry" to 3)
val mutableMap = mutableMapOf("apple" to 1, "banana" to 2, "cherry" to 3)
filter
filter 是过滤集合中的元素,使用 filter()
函数过滤集合中的元素。
val list = listOf("apple", "banana", "cherry")
val filteredList = list.filter { it.length > 5 }
println(filteredList) // [banana, cherry]
map
map 是映射集合中的元素,使用 map()
函数映射集合中的元素。
val list = listOf("apple", "banana", "cherry")
val mappedList = list.map { it.toUpperCase() }
println(mappedList) // [APPLE, BANANA, CHERRY]
flatMap
flatMap 是扁平化集合中的元素,使用 flatMap()
函数扁平化集合中的元素。
val list = listOf(listOf("apple", "banana"), listOf("cherry", "date"))
val flatList = list.flatMap { it }
println(flatList) // [apple, banana, cherry, date]
count
count 是统计集合中的元素个数,使用 count()
函数统计集合中的元素个数。
val list = listOf("apple", "banana", "cherry")
println(list.count()) // 3
partition
partition 是分割集合中的元素,使用 partition()
函数分割集合中的元素。
val list = listOf("apple", "banana", "cherry")
val (even, odd) = list.partition { it.length % 2 == 0 }
println(even) // [banana]
println(odd) // [apple, cherry]
sorted
sort 是排序集合中的元素,使用 sort()
函数排序集合中的元素。
val list = listOf("apple", "banana", "cherry")
list.sort()
println(list) // [apple, banana, cherry]
zip
zip 是合并集合中的元素,使用 zip()
函数合并集合中的元素。
val list1 = listOf("apple", "banana", "cherry")
val list2 = listOf(1, 2, 3)
val zippedList = list1.zip(list2)
println(zippedList) // [(apple, 1), (banana, 2), (cherry, 3)]
getOrElse
getOrElse 是获取集合中的元素,使用 getOrElse()
函数获取集合中的元素。
val list = listOf("apple", "banana", "cherry")
println(list.getOrElse(1) { "unknown" }) // banana
any、all、none
any 是判断集合中是否存在元素,使用 any()
函数判断集合中是否存在元素。
val list = listOf("apple", "banana", "cherry")
println(list.any { it.length > 5 }) // true
all 是判断集合中是否所有元素都满足条件,使用 all()
函数判断集合中是否所有元素都满足条件。
val list = listOf("apple", "banana", "cherry")
println(list.all { it.length > 5 }) // false
none 是判断集合中是否所有元素都不满足条件,使用 none()
函数判断集合中是否所有元素都不满足条件。
val list = listOf("apple", "banana", "cherry")
println(list.none { it.length > 5 }) // true
find、findLast
find 是查找集合中的元素,使用 find()
函数查找集合中的元素。
val list = listOf("apple", "banana", "cherry")
println(list.find { it.length > 5 }) // banana
findLast 是查找集合中的最后一个元素,使用 findLast()
函数查找集合中的最后一个元素。
val list = listOf("apple", "banana", "cherry")
println(list.findLast { it.length > 5 }) // cherry
first、last
first 是获取集合中的第一个元素,使用 first()
函数获取集合中的第一个元素。
val list = listOf("apple", "banana", "cherry")
println(list.first()) // apple
last 是获取集合中的最后一个元素,使用 last()
函数获取集合中的最后一个元素。
val list = listOf("apple", "banana", "cherry")
println(list.last()) // cherry
associateBy、groupBy
associateBy 是根据条件映射集合中的元素,使用 associateBy()
函数根据条件映射集合中的元素。
val list = listOf("apple", "banana", "cherry")
val associateMap = list.associateBy { it.length }
println(associateMap) // {5=apple, 6=banana, 6=cherry}
groupBy 是根据条件分组集合中的元素,使用 groupBy()
函数根据条件分组集合中的元素。
val list = listOf("apple", "banana", "cherry")
val groupMap = list.groupBy { it.length }
println(groupMap) // {5=[apple], 6=[banana, cherry]}
minOrNull、maxOrNull
minOrNull 是获取集合中的最小元素,使用 minOrNull()
函数获取集合中的最小元素。
val list = listOf(1, 2, 3)
println(list.minOrNull()) // 1
maxOrNull 是获取集合中的最大元素,使用 maxOrNull()
函数获取集合中的最大元素。
val list = listOf(1, 2, 3)
println(list.maxOrNull()) // 3
Comments
No Comments!