我有一组项目,每个项目都是一个包含多个字段的简单对象。
List<MyObject>
where
MyObject = {
long value1,
long value2
}
例如,我需要按值1对集合进行排序。我经常需要检索,例如,20&#34; top&#34;记录。非常频繁地添加新项目(每秒数百次)并且可以包含例如50000项。
我可以使用哪些类型的集合来快速更新有序列表?
答案 0 :(得分:0)
您可以使用优先级队列,它可以使用比较器对数据进行排序。它以订单O(Log(n))插入您的数据 在其上插入所有数据,然后在循环中获得前20项。最好将数据保存在列表中,然后排序并获得前20名。