首页 > Java > java教程 > 为什么Java没有SortedList?

为什么Java没有SortedList?

Patricia Arquette
发布: 2024-12-11 20:35:11
原创
524 人浏览过

Why Doesn't Java Have a SortedList?

为什么 Java 缺少 SortedList

与 Java Collections 框架中的 SortedSet 和 SortedMap 不同,Java 没有提供专用的 SortedList。尽管有这样的遗漏,Java 确实通过 java.util.Collections.sort() 方法提供了排序功能。

遗漏的原因

缺少 SortedList 的原因从列表迭代器的基本性质来看。列表迭代器优先保留元素的插入顺序。另一方面,排序可以被视为对数据结构的操作,改变元素顺序。

SortedList 的替代品

  1. 排序集和多重集(Bags):

    • SortedSet 在元素插入期间自动排序,无需手动排序。
    • TreeMultiset(Multiset 实现)允许重复元素,同时保留排序order.
  2. Collections.sort():

    • 通过修改 List 实例的内部数据结构对 List 实例进行排序。
    • 接受比较器进行自定义排序,允许区域设置敏感的字符串排序,例如。
  3. PriorityQueue:

    • 虽然不是 SortedList 的直接替代品,但 PriorityQueue 提供了排序队列行为适合某些用例。
    • 通过 PriorityQueue 迭代返回排序后的元素
  4. 自定义实现:

    • 用户可以通过扩展 AbstractList 类并覆盖 add 来创建自己的 SortedList和排序方法。
    • 不建议使用此选项,因为它违反了 List 接口约定并且不提供与现有解决方案相比具有显着优势。

以上是为什么Java没有SortedList?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板