假设cars
列表。
我想仅在设置 为空 时添加Ferrari
项,并返回最终的设置。
我这样做:
val finalCarsSet = Option(cars) filterNot(_.isEmpty) getOrElse Set("Ferrari")
使用高阶函数是否有更短的方法?
答案 0 :(得分:3)
为什么要将列表包装在一个选项中?您可以使用isEmpty
:
scala> Set()
res0: scala.collection.immutable.Set[Nothing] = Set()
scala> if(res0.isEmpty) Set("Ferrari") else res0
res1: scala.collection.immutable.Set[_ <: String] = Set(Ferrari)
scala> Set("Ferrari", "Porsche")
res2: scala.collection.immutable.Set[String] = Set(Ferrari, Porsche)
scala> if(res2.isEmpty) Set("Ferrari") else res2
res3: scala.collection.immutable.Set[String] = Set(Ferrari, Porsche)
如果你只想用&#34; Ferrari&#34;返回一套,我不能理解你的代码。或者您想将汽车添加到您已有的汽车中。