初识Kotlin之集合 (4)

调用string.split()函数,无论用forEach还是map,即使没有内容还是会遍历一次

基础用法 val list = listOf(-3,-2,1,3,5,3,7,2,10,9) list.map { it + 1 }.forEach { print("$it \t") } list.mapIndexedNotNull { index, value -> if (index % 2 == 0) value else null }.forEach { print("$it \t") } println("flatMap : ${list.flatMap { listOf(it, it + 1,"n$it") }}") println("groupBy : ${list.groupBy { if (it % 2 == 0) "偶数" else "奇数" }}") 集合的交差并补操作

对集合的求交差集是一个常用的方法。比如前端需要将更新,创建,删除的逻辑用一个接口完成。我们可以通过旧数据与新数据求差集找出需要删除的数据。通过新数据和旧数据求差集找出需要创建的数据。通过求交集找出需要更新的数据。

intersect(...) : 返回一个集合,其中包含此集合和指定集合所包含的所有元素,交集

subtract(...) : 返回一个集合,其中包含此数组包含但未包含在指定集合中的所有元素,差集

union(...) : 返回包含两个集合中所有不同元素的集合,并集

minus(...) : 返回包含原始集合的所有元素的列表,但给定的数组中包含的元素除外,补集

基础用法 val list1 = mutableListOf(1,2,3,4,5) val list2 = mutableListOf(4,5,6,7) println("intersect : ${list1.intersect(list2)}") println("subtract : ${list1.subtract(list2)}") println("union : ${list1.union(list2)}") println("minus : ${list1.minus(list2)}") ----------------------------------------------------- intersect : [4, 5] subtract : [1, 2, 3] union : [1, 2, 3, 4, 5, 6, 7] minus : [1, 2, 3]

官网地址:https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/

到这里文章就结束了。如果用好集合的高阶函数,可以让我们的开发效率有明显的提高,bug的数量也会锐减。文章还有一部分内容没有介绍。我在工作用中集合就用MutableList、MutableSet、MutableMap,可Java中还有ArrayList,LinkedList,HashMap,HashSet等集合Kotlin中也有这些。一直都没有好好研究,这个坑先挖好,后来再补上。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpywpx.html