Scala可变集合,在插入

时间:2015-11-17 10:24:09

标签: scala scala-collections

我正在寻找一个Scala可变序列集合,用于对插入元素进行排序。即在我完成插入元素之后,对生成的集合进行排序。看来这件事情并不存在,但也许我错过了什么?它可能不会那么难以实现,但我不想重新发明轮子。

编辑:设置语义不合适,因为元素可能会重复。

编辑:我正在寻找Scala集合,而不是Java集合。这个问题不是关于如何在JVM上实现这样的行为,而是关于实现此目的的现有Scala集合。如果这样的事情不存在,我会接受这样的回答。

2 个答案:

答案 0 :(得分:2)

您可以使用java.util.PriorityQueue

修改

scala.collection.mutable.PriorityQueue。但只有dequeuedequeueAll方法才能保持顺序。

import scala.collection.mutable.PriorityQueue
val pq = new PriorityQueue()(Ordering[Int].reverse) //default is descending order
pq += 5
pq += 4
pq += 2
pq.enqueue    //2
pq.enqueueAll //Vector(4,5)

答案 1 :(得分:0)

因为你在寻找可变集合,所以考虑使用java的TreeSet