Kotlin学习笔记(四十四)高阶函数flapMap

/**
 *  常见高阶函数
 *  flatMap函数:可把带区间的函数转换成元素相同但不带区间的列表
 */
fun main(args: Array<String>) {
    val list = listOf( //包含区间的列表
            1..5,
            2..4,
            100..104
    )

    //[1,2,..,5,2..4,100,101...104]将list转换成单行列表
    val flatList = list.flatMap {
        it
    }

    //[No.1,No.2,..,No.5,No.2..No.4,No.100,No.101...No.104]将list转换成单行列表2
    //flatMap所传入的返回值是iterable,需另加一层map转换成list才能迭代
    val flatList2 = list.flatMap { intRange ->
        intRange.map { intElement ->
            "No.$intElement"
        }
    }

    flatList.forEach(::println) //打印生成的列表
    flatList2.forEach(::println) //打印生成的列表2
}
运行结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容