这样的事情是否存在?基本上我看到java有LinkedHashSet但没有可导航的哈希集的类型?java排序集合类型集合存在吗?
0
A
回答
1
就其本质而言,基于散列的数据结构不是有序的。你可以编写一个包装文件来补充一个额外的数据结构(这或多或少是LinkedHashMap
所做的)。但是,保持哈希集合和列表是有意义的,为了保持良好的顺序,您需要一棵树或类似的数据结构。但是树本身可以作为一个集合使用,所以你基本上会复制这些信息(比set + list更多的情况,这比两个不同的set实现有所不同)。因此,如果您需要订购,最好的解决方案是使用TreeSet
或另一个SortedSet
。
1
这不是一个HashSet
,但由于Set
后裔你有TreeSet
此类实现Set接口,由TreeMap实例支持。此类保证排序后的集合将以元素升序排列
您可以使用迭代
公共迭代器迭代器()
返回在元素的迭代器遍历元素在这一套。元素按升序返回
0
我想有TreeMap的是...相关,但绝对不一样:)
1
您可以使用一个TreeSet,但它所有的操作都LG(N)
可以使用LinkedHashSet ,它保持哈希集顶部的链表,但它只保持插入顺序(第一次插入将是迭代器中的第一个元素),你不能有自然或自定义排序
你也可以使用TreeSet + HashSet方法,对于每个元素将被保留,同时添加和删除仍然是lg(n)包含将变为预期o(n)
明智选择:)
相关问题
- 1. 在Java中排序集合
- 2. jTemplates foreach保存集合的排序吗?
- 3. Java集合排序问题
- 4. Java ArrayList集合排序
- 5. python集合类型无法排序
- 6. 集合排序
- 7. 排序集合的Java对象排序
- 8. Java泛型和集合集
- 9. Laravel排序合并集合
- 10. 排序复合集合
- 11. 在集合中排序模型字段
- 12. Redis排序集合
- 13. VBA:排序集合
- 14. 排序的集合
- 15. 集合的通用类型子集合
- 16. 序列化泛型集合集合
- 17. 在DictionaryBase集合上排序
- 18. 排序集合在雄辩
- 19. 在Java中声明集合的类型
- 20. Java:将某些类型的集合中的对象包含在集合中以存储重复集合
- 21. Java集合分类
- 22. Java - 泛型类型和集合
- 23. 泛型类型的GSON(Java集合)
- 24. java 8创建类型A集合中的类型B的集合
- 25. 用java中的集合排序
- 26. Java-8对集合进行排序
- 27. 可重复排序的Java集合
- 28. 缓存集合样集合
- 29. 集合泛型类型
- 30. Silverlight 4中的排序集合类?