元素增删
- addAll:添加指定元素
- removeAll:移除指定元素
- retainAll:保留指定元素
- fill:使用指定元素填充
排序
- reverse:倒序
- shuffle:乱序
- sort:以指定方式排序
集合运算
- intersect:取相交子集
- subtract:相减取补集
- union:相加取超集
通过+ - += -=
操作符运算
条件判断
- all:是否所有元素满足限定条件
- any:是否存在某个元素满足限定条件
- none:是否完全没有元素满足限定条件
- single:是否有且仅有一个元素满足限定条件
- isEmpty、none:集合是否为空
- any:集合是否不为空
- single:集合是否只有一个元素
- containsXxx:是否包含某部分元素或键值对
- contentDeepXxx:遍历迭代子项比较或计算哈希等
- contentXxx:通过子项比较或计算哈希等(不遍历嵌套类型)
- max、min:根据给定比较方式提取最大、最小元素
- orEmpty:this ?: Empty集合
- requireNoNulls:不包含null元素,否则抛出异常
计算
- average:平均值
- sum:总和值
- sumBy:按给定算法计算非特定元素总和值
- count:符合给定条件的元素数量
遍历
- forEach:遍历元素执行指定运算,无返回
- onEach:遍历元素执行指定运算,返回集合自身
查找
- binarySearch:二分查找某个有序序列
- elementAt:提取指定位置元素
- find:搜索第一个符合指定条件的元素
- first、last:第一个或最后一个符合条件的元素
- get、getValue、getOrXxx:提取集合对象某个元素,不存在时返回指定值
- indexOf、lastIndexOf:某个指定条件的元素下标
过滤
- copyOf:提取某个指定数量范围的子集
- take、takeWhile:提取开头指定数量或符合指定条件的子集
- drop、dropWhile:丢弃开头指定数量或符合指定条件的子集
- distinct:以指定方式删除重复元素
- filter:按指定方式过滤出所需的结果集合
- minusElement、plusElement:减去、追加某个元素的新集合
- slice:裁剪出指定下标范围的子集
映射
Map主题
- groupBy、groupingBy:按指定方式分类列表元素,构成分类Map或Grouping对象
- withDefault、withIndex:打包成包含默认值或元素下标的集合
- associate:关联至某个指定Key,生成Map类型集合
- zip:两个列表元素一一关联成Pair对象或转换为特定结果对象构成的列表
- zipWithNext:列表的每两个元素结合成Pair对象或转换为特定结果对象构成的列表(结合过程中不消耗下一元素)
- unzip:从Pair列表解析出Key列表和Value列表
列表主题
- asIterable 、asList、asSequence..:映射成某种类型的集合
- asReversed:映射成倒序列表(与原列表自动关联)
- toCollection、toPair、toProperties、toString(charset)、toTypedArray..:转换为某种类型集合
- flatMap:每个元素映射成某种序列,再平铺所有序列元素成一维列表
- flatten:二维数组平铺成一维列表
- map:遍历每个元素,映射成另一对象,生成结果列表或Map对象
- fold、reduce:合并加成列表中所有元素项,返回最终合并结果值
- joinTo:遍历每个元素,生成字符串
- partition:根据指定条件,切分为两个列表子集
- chunked:按指定长度及转换算法,分片成二级列表或特定类型对象列表
- windowed:按指定长度、步进及转换算法,生成一个快照系列列表
Grouping
- eachCount:每种分类的统计数量
- aggregate、fold、reduce:合并加成Map表中每种分类的元素项,返回最终合并结果值的Map表