我有一個可變的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中對列表進行迭代