0
A
回答
2
TreeMaps和TreeSet幾乎在每個方面都與HashMaps和HashSet類似,只是樹版本保持數據的排序順序(與未指定順序的Hash版本不同)。
使用TreeMap和TreeSet,您可以選擇使用內容的「自然」順序(假設內容實現了Comparable接口),或者您可以提供自己的比較器來爲您排序。
讓人驚訝的一個區別是,您可以將null
存儲在HashMap和HashSet中,但不是(必須)存儲在TreeSet中或作爲TreeMap中的鍵。
1
哈希集比樹集快得多,但不提供排序保證。 樹集通過使用比較器(自然排序)組織樹中的數據,並且散列集組織散列表中的數據(使用散列函數)。 你還可以在Hash Set中存儲空值。雖然你不能在樹中存儲空集它會拋出異常空指針異常
+0
從技術上講,如果您使用自定義的「比較器」和「比較器」,您可以將null存儲在「TreeMap」或「TreeSet」一致處理'null'值:http://docs.oracle.com/javase/7/docs/api/java/util/TreeSet.html#add(E) – rolfl
相關問題
- 1. Java哈希集和樹集
- 2. Python和其他文件哈希之間的MD5哈希差異
- 3. 圖形和樹之間的DFS差異
- 4. 哈希差異
- 5. Python和PHP之間的MD5哈希差異?
- 6. openssl和hashlib/pycrypto之間的SHA1哈希差異
- 7. 哈希映射,哈希集合,哈希字典之間有什麼區別?
- 8. Java有序哈希集合
- 9. php的哈希方法之間的差異是什麼?
- 10. 不同線程之間的Python哈希差異
- 11. 導軌 - 兩個哈希之間的顯示差異
- 12. 如何:在Java中找到兩個集合之間的集合差異
- 13. 在Java中鎖定哈希集合
- 14. JAVA和C#之間的LdapConnection差異
- 15. c#和java之間的差異寫()
- 16. Akka Scala和Java之間的差異
- 17. C#和Java之間的Base64差異
- 18. C#和java之間的輸出差異
- 19. Xor Java和Flash Actionscript之間的差異
- 20. FileWriter和BufferedWriter之間的Java差異
- 21. 在java中的地圖和哈希圖
- 22. 哈希碼和哈希集的概念
- 23. 排序的哈希集合
- 24. 原始工作樹和克隆工作樹之間的差異
- 25. 術語之間的任何差異解析樹和派生樹?
- 26. 一致哈希和錐哈希之間的區別是什麼?
- 27. 位圖和BufferedImages之間的差異
- 28. /和/ **之間的差異
- 29. PHP之間的差異()和[]
- 30. '//'和'///'之間的C++差異
我知道這些集合如何工作,但我想知道兩者之間的區別。謝謝 – jaavargasar
閱讀每個班級的文檔。然後用更精煉的問題創建一個*不同的*帖子。 (我會想象知道他們是如何工作意味着知道差異,但..) – user2864740
我知道如何創建這些集合,我怎麼可以填補,但我沒有看到差異,對我來說這些集合使同樣的事情。 – jaavargasar