集合框架 3个月前

代码工具
291
集合框架

Arrays

方法声明 功能描述
arrayOfNulls() 创建一个指定大小的空数组
arrayOf() 创建一个数组并初始化元素
xxArrayOf() 创建指定类型的数组,如 intArrayOf()
withIndex() 返回一个包含数组元素及其索引的列表

Arrays - forEach

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
}

元素操作符

方法声明 功能描述
contains 判断集合是否包含某个元素
elementAt 返回指定索引位置的元素
first 返回集合中的第一个元素
indexOf 返回某元素在集合中的索引
last 返回集合中的最后一个元素
lastIndexOf 返回某元素在集合中最后出现的索引
single 返回集合中的单个元素,集合必须只有一个元素

产生操作符

方法声明 功能描述
merge 合并两个集合
partition 将集合按条件分成两个集合
plus 返回集合与另一个集合或元素的并集
zip 将两个集合的元素合并成对

顺序操作符

方法声明 功能描述
reverse 反转集合中元素的顺序
sort 对集合中的元素进行排序
sortBy 根据指定的函数对集合中的元素进行排序
sortDescending 对集合中的元素进行降序排序
image
EchoEcho官方
无论前方如何,请不要后悔与我相遇。
1377
发布数
439
关注者
2222943
累计阅读

热门教程文档

Golang
23小节
Kotlin
68小节
Next
43小节
Java
12小节
C#
57小节