如何在Scala中反转IndexedSeq?

时间:2012-03-19 02:25:50

标签: scala scala-collections

拥有一个IndexedSeq,如何从头到尾迭代它?

1 个答案:

答案 0 :(得分:4)

您可以撤消它:

scala> val x = IndexedSeq(1,2,3,4)
x: IndexedSeq[Int] = Vector(1, 2, 3, 4)

scala> x.reverse.foreach(println)
4
3
2
1

或者,根据您在迭代时所做的事情,foldRight可能就是您想要的。 foldRight是一个从右到左穿过集合的折叠。

scala> x.foldRight(0){ (item, total) => println("adding "+item); total + item }
adding 4
adding 3
adding 2
adding 1
res121: Int = 10