gpt4 book ai didi

scala - flatten和flatMap(identity)之间有什么区别吗?

转载 作者:行者123 更新时间:2023-12-04 09:47:42 26 4
gpt4 key购买 nike

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(1, 2, 3, 4)

scala> res18.flatMap(identity)
res20: List[Int] = List(1, 2, 3, 4)

这两个功能之间有什么区别吗?什么时候使用另一种比较合适?有什么取舍吗?

最佳答案

您可以将flatMap(identity)视为map(identity).flatten。 (当然,它不是以这种方式实现的,因为它将需要两次迭代)。
map(identity)提供了相同的集合,因此最终它仅与flatten相同。

我个人会坚持使用flatten,因为它更短/更容易理解和设计以实现此目的。

关于scala - flatten和flatMap(identity)之间有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27005148/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com