深色模式
Kotlin 集合之 集合操作函数
变换
map()
对每个元素执行变换,返回一个List
。
Iterable<T>.map(transform: (T) -> R): List<R>
mapIndexed()
在map()
的基础上提供元素下标。
Iterable<T>.mapIndexed(transform: (index: Int, T) -> R): List<R>
mapNotNull()
如果变换结果为null
,则过滤掉此元素,不放入最终List
中。
Iterable<T>.mapNotNull(transform: (T) -> R?): List<R>
mapIndexedNotNull()
Iterable<T>.mapIndexedNotNull(transform: (index: Int, T) -> R?): List<R>
mapKeys()
只用于Map
,变换每个元素的key,返回一个Map
。
Map<out K, V>.mapKeys(transform: (Map.Entry<K, V>) -> R): Map<R, V>
mapValues()
只用于Map
,变换每个元素的value,返回一个Map
。
Map<out K, V>.mapValues(transform: (Map.Entry<K, V>) -> R): Map<K, R>
zip()
将两个集合中相同位置的元素合并为Pair
。
Iterable<T>.zip(other: Iterable<R>): List<Pair<T, R>>
将两个集合中相同位置的元素变换,返回一个List
。
Iterable<T>.zip(other: Iterable<R>, transform: (a: T, b: R) -> V): List<V>
unzip()
将一个由Pair
元素构成的集合,拆分为两个List
,放到一个Pair
中。
Iterable<Pair<T, R>>.unzip(): Pair<List<T>, List<R>>
associateWith()
associateBy()
associate()
flatten()
flatMap()
joinToString()
joinTo()
过滤
filter()
filterIndexed()
filterNot()
filterNotNull()
filterIsInstance()
partition()
any()
none()
all()
加减
+
-
分组
groupBy()
groupingBy()
取子集
slice()
take()
takeLast()
takeWhile()
takeLastWhile()
drop()
dropLast()
dropWhile()
dropLastWhile()
chunk()
windowed()
取单个元素
elementAt()
elementAtOrNull()
elementAtOrElse()
first()
firstOrNull()
last()
lastOrNull()
find()
findLast()
firstNotNullOf()
firstNotNullOfOrNull()
random()
randomOrNull()
contains()
containsAll()
isEmpty()
isEmptyOrNull()
isNotEmpty()
排序
sorted()
sortedDescending()
sortedBy()
sortedByDescending()
sortedWith()
reverse()
asReversed()
shuffle()
聚合
minOrNull()
maxOrNull()
average()
sum()
count()
maxByOrNull()
minByOrNull()
maxWithOrNull()
minWithOrNull()
maxOfOrNull()
minOfOrNull()
maxOfWithOrNull()
minOfWithOrNull()
maxOf()
minOf()
maxOfWith()
minOfWith()
sumOf()
reduce()
fold()
reduceRight()
foldRight()
reduceIndexed()
foldIndexed()
写操作
add()
addAll()
remove()
removeAll()
retainAll()
clear()
List 相关
get()
getOrNull()
getOrElse()
subList()
indexOf()
lastIndexOf()
indexOfFirst()
indexOfLast()
binarySearch()
set()
fill()
removeAt()
Set 相关
union()
intersect()
subtract()
Map 相关
get()
getOrElse()
getOrDefault()
filterKeys()
filterValues()
put()
putAll()
remove()
参考
《Collection operations》(Kotlin官方文档)