scala - 迭代 Scala 中排序集的逆序?

标签 scala treeset sortedset

我有一个可变的 SortedSet,我可以通过执行 for (item <- nameOfMySortedSet) 来迭代它。不过,我希望能够做同样的事情,但与nameOfMySortedSet相反。 。我似乎没有看到reverse()该数据类型的选项?还有其他方法可以做到这一点吗?

最佳答案

您可以尝试构建一个新的 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)

或者您可以将其转换为列表或序列并运行相反的操作:

scala> mySet.toSeq.reverse
res1: Seq[String] = ArrayBuffer(3, 2, 1)

关于scala - 迭代 Scala 中排序集的逆序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30736869/

相关文章:

scala - 为什么这不会给出类型错误?

java - 试图在 Java 中初始化 Scala 创建的类

java - TreeSet 不行,下面的代码有什么问题吗?

REDIS/jedis 更新排序集中所有成员的分数

scala - 我可以将自定义 Scala TraversableView 的底层成员保留为 null 吗?

scala - 带有默认参数的宏注解

java - 如何根据这些条件对对象的 HashSet 进行排序?

java - 比较器和等于()

C# Entityframework - 如何将导航属性从 HashSet 转换为 SortedSet

sorting - Redis 基于分数和日期时间排序的集合作为决胜局?