Java中的排序集合

新手上路,请多包涵

我是 Java 的初学者。请建议可以/应该使用哪些集合来维护 Java 中的排序列表。我试过 MapSet ,但它们不是我要找的。

原文由 rohan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 403
1 个回答

这来得很晚,但是 JDK 中有一个类只是为了有一个排序列表。它被命名为(与其他 Sorted* 接口有些混乱)“ java.util.PriorityQueue ”。它可以排序 Comparable<?> s 或使用 Comparator

与使用 List 排序的 Collections.sort(...) 的区别在于,通过使用堆数据结构,这将始终保持部分顺序,具有 O(log(n)) 插入性能,而插入已排序的 ArrayList 将是 O(n)(即,使用二进制搜索和移动)。

但是,与 List 不同, PriorityQueue 不支持索引访问( get(5) ), 唯一的方法是访问堆中的项目一次(因此名称 PriorityQueue )。

原文由 Martin Probst 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题