仰望星空,脚踏实地~
集合
跟据是否可变分为:不可变集合与可变集合,后者在前者的前面加上 Mutable- 列表:List/ MutableList
- 集:Set/MutableSet
- 映射:Map/MutableMap
- 集合:Collection/MutableCollection
- 迭代器:Iterable/MutableIterable
list:
-
空List
val emptyList = emptyList()
-
普通List
val list = listOf(1,2,3)
val mList = mutableListOf(1,2,3)
Set:
-
空set
val emptySet = emptySet()
-
普通set
val set = setOf(1,2,3)
val mSet = mutableSetOf(1,2,3)
val hashSet = hashSetOf(1,2,3)
val linkedSet = linkedSetOf(1,2,3)
val sortedSet = sortedSetOf(1,2,3)
map:
这的键值对用 to 关键字 , key to value
val emptyMap = emptyMap()
val map = mapOf(1 to "coder",2 to "pig")
val mMap = mutableMapOf(1 to "coder",2 to "pig")
val hashMap = hashMapOf(1 to "coder",2 to "pig")
val linkedMap = linkedMapOf(1 to "coder",2 to "pig")
val sortedMap = sortedMapOf(1 to "coder",2 to "pig")
集合操作符
总数操作符、过滤操作符、映射操作符、顺序操作符、生产操作符、元素操作符-
总数操作符:
- any
判断集合中是否有满足条件的元素
- all
判断集合中的元素是否都满足条件
- none
判断集合是否都不满足条件,是则返回true
- count
查询集合中满足条件的元素个数
- reduce
从第一项到最后一项进行累计
- reduceRight
从最后一项到第一项进行累计
- fold
与reduce类似,不过有初始值,而不是从0开始累计
- foldRight
和reduceRight类似,有初始值,而不是从0开始累计
- forEach
循环遍历元素,元素是it,可对每个元素进行相关操作
- forEachIndexed
循环遍历元素,同时得到元素index(下标)
- max
查询最大的元素,如果没有则 返回null
- maxBy
获取方法处理后返回结果最大值对应的哪个元素的初始值,如果没有则返回null
- min
查询最小值
- minBy
同maxBy
- sumBy
获取方法处理后返回结果值的总和
- dropWhile
返回从第一项起,去掉满足条件的元素,直到不满足条件的一项为止
-
过滤操作符:过滤后会返回一个处理后的列表结果,但不会改变原列表
- filter
过滤掉所有满足条件的元素
- filterNot
过滤所有不满足条件的元素
- filterNotNull
过滤NULL
- take
返回从第一个开始的n个元素
- takeLast
返回从最后一个开始的n个元素
- takeWhile
返回不满足条件的下标前面的所有元素的集合
- drop
返回去掉前N个元素后的列表
- dropLastWhile
返回从最后一项起,去掉满足条件的元素,直到不满足条件的一项为止
- slice
过滤掉非指定下标的元素,即暴力下标对应的元素过滤list中指定下标的元素
-
映射操作符:
- map
将集合中的元素通过某个方法转换后的结果存到一个集合中
- mapIndexed
除了得到转换后的结果,还可以拿到index(下标)
- mapNotNull
执行方法转换前过滤掉为Null的元素
- flatMap
合并两个集合,可以在合并的时候做些小动作
- groupBy
将集合中的元素按照某个条件分组,返回map
-
顺序操作符:
- reversed
相反顺序
- sorted
自然排序(升序)
- sortedBy
根据方法处理结果进行自然排序
- sortedDescending
降序排序
- sortedByDescending
根据方法处理结果进行降序排序
-
生产操作符:
- zip
两个集合按照下标组合成一个个的Pair塞到集合中返回
- partition
根据判断条件是否成立,拆分成两个Pair
- plus
合并两个list,可以用“+“替代
- unzip
将包含多个Pair的List转换成含List的Pair
-
元素操作符:
- contains
判断集合中是否有指定元素,有返回true
- elementAt
查找下标对应的元素,如果下标越界会抛IndexOutOfBoundsException
- elementAtOrElse
查找下标对应元素,如果越界会根据方法返回默认值
- elementAtOrNull
查找下标对应元素,越界会返回Null
- first
返回符合条件的第一个元素,没有抛NoSuchElementException
- firstOrNull
返回符合条件的第一个元素,没有返回null
- indexOf
返回指定下标的元素,没有返回-1
- indexOfFirst
返回第一个符合条件的元素的下标,没有返回-1
- indexOfLast
返回最后一个符合条件的元素下标,没有返回-1
- last
返回符合条件的最后一个元素,没有抛NoSuchElementException
- lastIndexOf
返回符合条件的最后一个元素,没有返回-1
- lastOrNull
返回符合条件的最后一个元素,没有返回null
- single
返回符合条件的单个元素,如果没有符合或超过一个,抛异常
- singleOfNull
返回符合条件的单个元素,如果没有符合或超过一个,返回null
</wiz_tmp_tag>