我有一个可变的SortedSet,我可以通过做for (item <- nameOfMySortedSet)
来迭代它。不过,我希望能够做同样的事情,但在nameOfMySortedSet
的相反。我似乎没有看到此数据类型的reverse()
选项?有没有另一种方法来做到这一点?在Scala中对已排序集的反向进行迭代?
2
A
回答
2
解决方案,
val sSet = SortedSet(4,3,5)
sSet.foldLeft(List[Int]())((x,y)=>y::x)
如果你必须这样做过于频繁,你可能有救Set
以相反的顺序。使用不同的Ordering
。
0
下面的作品,但我不会想保卫它作为高效:
val s = collection.SortedSet(1,3,4)
for (i <- s.to[List].reverse)
println(i)
3
您可以尝试建立一个新的SortedSet与顺序颠倒:
scala> val mySet = collection.mutable.SortedSet("1", "2", "3")
mySet: scala.collection.mutable.SortedSet[String] = TreeSet(1, 2, 3)
scala> collection.mutable.SortedSet(mySet.toSeq:_*)(mySet.ordering.reverse)
res0: scala.collection.mutable.SortedSet[String] = TreeSet(3, 2, 1)
或者你也可以转换它到一个列表或seq并运行反向:
scala> mySet.toSeq.reverse
res1: Seq[String] = ArrayBuffer(3, 2, 1)
相关问题
- 1. 通过已排序集合进行成对迭代的习语
- 2. 如何通过Python中的已排序迭代进行迭代
- 3. 对HashMap进行排序迭代Java
- 4. 对键集进行迭代和对条目集的迭代
- 5. 用scala对accumulo表进行迭代
- 6. 反向对象迭代(javascript)
- 7. 在Java(或Scala)中对HashMap的HashMap进行迭代
- 8. 在反向中迭代ConcurrentSkipListMap
- 9. 使用Select-String对已排序哈希表进行迭代包括空行?
- 10. 在scala中对JSON数组进行迭代
- 11. 在scala中对迭代器进行分区2.7.5
- 12. Julia中的反向迭代
- 13. Scala中对象的向量排序
- 14. 从Python输出中对一列进行反向数字排序
- 15. 在Scala中迭代Java集合
- 16. 对存储在集合中的无序元素对进行迭代
- 17. Scala中的排序集合
- 18. 如何对Scala中有多列的数据集进行排名?
- 19. 反向迭代LinkedHashMap
- 20. 如何对Scala中的List [Int]对象进行排序?
- 21. 在MATLAB中对函数的向量进行迭代
- 22. 使用快速排序C进行反向排序(降序)?
- 23. 为什么要对已排序的非聚集索引字段进行排序?
- 24. 对pyquery中的对象进行迭代
- 25. 在scala中反向排序的最好方法是什么?
- 26. 在Python中对数组进行迭代
- 27. 在Python中对文件进行迭代
- 28. 在Makefiles中对列表进行迭代?
- 29. 在VBA中对列进行迭代(Excel)
- 30. 在Python中对列表进行迭代