我正在寻找一个Scala可变序列集合,用于对插入元素进行排序。即在我完成插入元素之后,对生成的集合进行排序。看来这件事情并不存在,但也许我错过了什么?它可能不会那么难以实现,但我不想重新发明轮子。
编辑:设置语义不合适,因为元素可能会重复。
编辑:我正在寻找Scala集合,而不是Java集合。这个问题不是关于如何在JVM上实现这样的行为,而是关于实现此目的的现有Scala集合。如果这样的事情不存在,我会接受这样的回答。
答案 0 :(得分:2)
您可以使用java.util.PriorityQueue
。
修改强>
有scala.collection.mutable.PriorityQueue
。但只有dequeue
和dequeueAll
方法才能保持顺序。
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