Kotlin中函数式编程API(6)✔️映射函数

2019-06-13  本文已影响0人  狼性代码人

常见的映射函数除了 map 外还有3个,如下:

函数 适用类型 返回数据 说明
mapNotNull Collection集合、Map集合或Array数组 List集合 返回一个List集合,该List集合包含对原始集合中非空元素进行转换后的结果。注意Array数组是对象数组,不能是IntArray和FloatArray等基本数据类型数组
mapIndexed Collection集合或数组 List集合 返回一个List集合,该List合集包含对原始集合中每个元素进行转换后的结果和他们的索引
flatMap Collection集合或数组 List集合 扁平化映射,可以将多维数组或集合转换为一维集合
fun main(args: Array<String>?) {
    val set = setOf(1, 3, 34, 54, 75)
    val charList = listOf("A", null, "b", "c")

    println(charList.mapNotNull { it }.map { it.toLowerCase() })
    println(set.mapIndexed { index, item -> index + item })

    val datas = listOf(listOf(10, 20), listOf(20, 40))
    println(datas.flatten())
    val flatMapList = datas.flatMap { e -> e.map { it * 10 } }
    println(flatMapList)
}
// 输出结果

2019-06-13 18:57:20.298 I: [a, b, c]
2019-06-13 18:57:20.298 I: [1, 4, 36, 57, 79]
2019-06-13 18:57:20.301 I: [10, 20, 20, 40]
2019-06-13 18:57:20.301 I: [100, 200, 200, 400]
上一篇下一篇

猜你喜欢

热点阅读