用Java排序的集合
我是Java的初学者。请建议可以/应该使用哪些集合来维护Java中的排序列表。我尝试了Map
和Set
,但它们不是我想要的。
回答:
这来得很晚,但是JDK中有一个类只是为了获得排序列表。它被命名(与其他Sorted*接口有些混乱)“ java.util.PriorityQueue
”。它可以排序Comparable<?>
或使用Comparator。
与List
sorted using 的区别Collections.sort(...)
在于,通过使用堆数据结构,这将始终保持部分顺序,具有O(log(n))插入性能,而在sorted中的插入ArrayList将为O(n)(即,使用二进制搜索和移动)。
但是,与不支持索引访问()不同的是List
,访问堆中项目的唯一方法是一次将它们取出(因此命名为)。PriorityQueueget(5)PriorityQueue
以上是 用Java排序的集合 的全部内容, 来源链接: utcz.com/qa/408642.html