Is there any difference between flatten and flatMap(identity)?

后端 未结 3 1445
庸人自扰
庸人自扰 2020-12-16 23:44
scala> List(List(1), List(2), List(3), List(4))
res18: List[List[Int]] = List(List(1), List(2), List(3), List(4))

scala> res18.flatten
res19: List[Int] = List         


        
3条回答
  •  失恋的感觉
    2020-12-17 00:07

    You can view flatMap(identity) as map(identity).flatten. (Of course it is not implemented that way, since it would take two iterations).

    map(identity) gives you the same collection, so in the end it is the same as only flatten.

    I would personally stick to flatten, since it is shorter/easier to understand and designed to exactly do this.

提交回复
热议问题