public inline fun <T> Array<out T>.forEach(action: (T) -> Unit): Unit {
for (element in this) action(element)
}
Kotlin 集合
Iterable
MutableIterable
Collection
MutableCollection
List
MutableList
Set
MutableSet
Map
MutableMap
Collection
方法声明
功能描述
joinToString
将集合的元素连接成一个字符串
集合和函数操作符
方法声明
功能描述
listOf()
创建一个不可变列表
mutableListOf
创建一个可变列表
toList
将集合转换为列表
setOf()
创建一个不可变集合
mutableSetOf
创建一个可变集合
hashSetOf
创建一个哈希集合
linkedSetOf
创建一个链表集合
toSet
将集合转换为集合
mapOf()
创建一个不可变映射
hashMapOf
创建一个哈希映射
linkedMapOf
创建一个链表映射
总数操作符
方法声明
功能描述
any
至少一个元素符合条件
all
所有元素符合条件
count
符合条件的元素总数
fold
把一个集合的元素折叠起来并得到一个最终的结果
foldRight
从右向左折叠集合
forEach
遍历集合中的每一个元素
forEachIndexed
遍历集合中的每一个元素并提供其索引
max
返回集合中的最大值
maxBy
返回给定函数计算出的最大值
min
返回集合中的最小值
minBy
返回给定函数计算出的最小值
none
判断集合中是否没有元素符合条件
reduce
与 fold 类似,但没有初始值,返回值类型与集合元素相同
reduceRight
从右向左合并集合中的元素
sumBy
返回所有元素的总和,通过给定的函数计算
过滤操作符
方法声明
功能描述
drop
返回去掉前 n 个元素后的集合
dropWhile
返回从第一个不符合条件的元素开始到集合末尾的元素
filter
过滤符合条件的元素
slice
返回指定索引范围内的元素
take
返回前 n 个元素
takeLast
返回后 n 个元素
takeWhile
返回从第一个元素开始到第一个不符合条件的元素之前的所有元素
映射操作符
方法声明
功能描述
map
把一个集合映射成另一个集合
flatMap
将集合的元素打平成单个列表
groupBy
按关键字分组
map()
/**
* Returns a list containing the results of applying the given [transform] function
* to each element in the original collection.
*/
public inline fun <T, R> Iterable<T>.map(transform: (T) -> R): List<R> {
return mapTo(ArrayList<R>(collectionSizeOrDefault(10)), transform)
}
/**
* Applies the given [transform] function to each element of the original collection
* and appends the results to the given [destination].
*/
public inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.mapTo(destination: C, transform: (T) -> R): C {
for (item in this)
destination.add(transform(item))
return destination
}
flatMap()
public inline fun <T, R> Iterable<T>.flatMap(transform: (T) -> Iterable<R>): List<R> {
return flatMapTo(ArrayList<R>(), transform)
}
public inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.flatMapTo(destination: C, transform: (T) -> Iterable<R>): C {
for (element in this) {
val list = transform(element)
destination.addAll(list)
}
return destination
}