Java 中已排序的集合
2022-08-31 07:04:24
我是Java的初学者。请建议哪些集合可以/应该用于在Java中维护排序列表。我试过和,但它们不是我想要的。Map
Set
我是Java的初学者。请建议哪些集合可以/应该用于在Java中维护排序列表。我试过和,但它们不是我想要的。Map
Set
这来得很晚,但是JDK中有一个类只是为了有一个排序列表。它被命名(与其他接口有点不合时宜)“”。它可以对 s 进行排序,也可以使用 .Sorted*
java.util.PriorityQueue
Comparable<?>
Comparator
与排序使用的区别在于,通过使用堆数据结构,这将始终保持部分顺序,具有O(log(n))插入性能,而插入排序将是O(n)(即,使用二进制搜索和移动)。List
Collections.sort(...)
ArrayList
但是,与 不支持索引访问 () 不同,访问堆中的项目的唯一方法是将它们取出,一次取出一个(因此得名 )。List
PriorityQueue
get(5)
PriorityQueue
TreeMap 和 TreeSet 将按排序顺序对内容进行迭代。或者,您可以使用 ArrayList 并使用 Collections.sort() 对其进行排序。所有这些类都在java.util中