需要高性能的Scala / Java集合

时间:2016-03-21 21:54:13

标签: java scala collections guava scala-collections

我正在寻找一个Scala(或Java / Guava)集合,它支持O(1)访问(并理想地删除)其最小元素以及O(log n)插入和删除任意元素。

思想?

2 个答案:

答案 0 :(得分:5)

PriorityQueue

  

实施说明:此实施为排队和出列方法(offerpollremove()add)提供了O(log(n))时间; remove(Object)contains(Object)方法的线性时间;和检索方法的常量时间(peekelementsize)。

     

此课程是Java Collections Framework的成员。

答案 1 :(得分:-1)

创建由ArrayList支持的自己的集合。它需要额外的字段最小元素和最小元素的位置。如果该元素是新的最小值,则在添加元素时更新这些字段。