视图和withFilter都解决了中间集合创建的问题。它们之间有什么区别?
List("a", "b", "c").withFilter(_ == "b").withFilter(_ == "c").map(x => x)
vs
List("a", "b", "c").view.filter(_ == "b").filter(_ == "c").map(x => x)
答案 0 :(得分:1)
List("a", "b", "c").withFilter(_ == "b").withFilter(_ == "c").map(x => x)
结果:
List[String] = List()
注意:结果不再是懒惰的。
List("a", "b", "c").view.filter(_ == "b").filter(_ == "c").map(x => x)
结果:
scala.collection.SeqView[String,Seq[_]] = SeqViewFFM(...)
结果尚未评估,仍然是视图。
答案 1 :(得分:1)