Scala,mutable.Stack迭代直到空

时间:2014-09-04 18:07:54

标签: scala iterator stack

我的scala代码类似于:

while(selectStack.nonEmpty) {
  val n = selectStack.pop()

  // do something with N

}

有一个更好的scala-way来做到这一点?

1 个答案:

答案 0 :(得分:2)

是的,您可以使用许多高阶方法,例如foreach

import scala.collection.immutable.Stack
val s = Stack(1,2,3,4)   
s.foreach(n=>println(n*2))                        //> 2
                                                  //| 4
                                                  //| 6
                                                  //| 8

map

 s.map(_*3) 
 // > res0: scala.collection.immutable.Stack[Int] = Stack(3, 6, 9, 12)