如何在Java中快速更新集合,按成员对象的属性排序?

时间:2016-12-08 18:05:44

标签: java algorithm performance sorting collections

我有一组项目,每个项目都是一个包含多个字段的简单对象。

List<MyObject> 

where

MyObject = {
   long value1,
   long value2
}

例如,我需要按值1对集合进行排序。我经常需要检索,例如,20&#34; top&#34;记录。非常频繁地添加新项目(每秒数百次)并且可以包含例如50000项。

我可以使用哪些类型的集合来快速更新有序列表?

1 个答案:

答案 0 :(得分:0)

您可以使用优先级队列,它可以使用比较器对数据进行排序。它以订单O(Log(n))插入您的数据 在其上插入所有数据,然后在循环中获得前20项。最好将数据保存在列表中,然后排序并获得前20名。