【浅显易懂】scala中map与flatMap的区别

对于不太熟悉的方法或者函数,直接上例子会直观很多:

map:

    val names = List("Alice","James","Apple")
    val strings = names.map(x => x.toUpperCase)
    println(strings)

结果:
List(ALICE, JAMES, APPLE)
    
    

flatMap:

    val chars = names.flatMap(x=> x.toUpperCase())
    println(chars)

结果:
List(A, L, I, C, E, J, A, M, E, S, A, P, P, L, E)

结论:

Map:将集合中的每一个元素映射到函数,然后新的集合

flatMap:将集合中的每一个元素的子元素映射到函数,返回新集合。

你可能感兴趣的:(scala)