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

/**
 *  常见高阶函数
 *  flatMap函数:可把带区间的函数转换成元素相同但不带区间的列表
 */
fun main(args: Array) {
    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
}
Kotlin学习笔记(四十四)高阶函数flapMap_第1张图片
运行结果

你可能感兴趣的:(Kotlin学习笔记(四十四)高阶函数flapMap)