這樣的事情是否存在?基本上我看到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中的排序集合類?