gpt4 book ai didi

scala - collect vs collectFirst - 为什么返回值的类型不同 - Scala

转载 作者:行者123 更新时间:2023-12-01 08:24:31 25 4
gpt4 key购买 nike

问题是确认我是否正确理解了Option的使用。

我注意到方法 collect 返回一个列表,而 collectFirst 返回一个选项。是因为 collect 可以返回多个值或无(没有一个由空列表表示)。另一方面,collectFirst 返回单个值(或什么都不返回),因此使用 Option 会更多,因为我们永远不会返回“列表”

最佳答案

你是对的:

scala> (1 to 5).collect { case i if i % 2 == 0 => "*" * i }
res: scala.collection.immutable.IndexedSeq[String] = Vector(**, ****)

scala> (1 to 5).collectFirst { case i if i % 2 == 0 => "*" * i }
res: Option[String] = Some(**)

scala> (1 to 5).collect { case i if i > 10 == 0 => "*" * i }
res: scala.collection.immutable.IndexedSeq[String] = Vector()

scala> (1 to 5).collectFirst { case i if i > 10 == 0 => "*" * i }
res: Option[String] = None

关于scala - collect vs collectFirst - 为什么返回值的类型不同 - Scala,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40773529/

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