爲什麼Java不提供函數來獲取HashSet
中的鍵/值對,如Hashtable
中存在的那樣?每次需要獲得某些東西時,必須迭代它似乎是一件非常痛苦的事情。還是有更簡單的方法來做到這一點?Java HashSet鍵/值對
回答
由於Set
不包含鍵和值,所以不可能提供這樣的視圖。
你認爲什麼是關鍵,Set
的價值是什麼?
我想我很困惑的文檔: 從哈希表:「這個類實現了一個哈希表,它將鍵映射到值。」 從HashSet:「這個類實現Set接口,支持一個哈希表(實際上是一個HashMap實例)。「 看看HashSet是一個HashMap和HashMap類似於Hashtable,爲什麼沒有辦法獲得鍵/值對? 如果這是一個唯一性的問題不會重寫compareTo()是否要走的路? – harley 2010-03-23 22:41:24
HashSet由HashMap返回__,這意味着它在內部使用HashMap。然而這並不意味着它暴露了HashMap。 – 2010-03-23 22:42:56
@Harley:正如Robert所說,HashSet中的HashMap是一個實現細節,它在外部是不可見的。下一步:如果你從來沒有**放入一個鍵/值對,那麼你期望它能看到什麼? – 2010-03-23 22:59:17
A Set
沒有任何鍵/值對,只是(唯一)值。正如您已經說過的那樣,您可以通過Iterator
或通過使用toArray()
方法返回帶有這些值的數組來獲得這些值。
也許您正在尋找List
來代替。
- 1. 兩個關鍵HashSet?
- 2. 獲取Hashset鍵
- 3. 一般鍵入HashSet
- 4. Set和HashSet Java
- 5. Java Swing的鍵值對JList
- 6. 的Java HashSet的<String>對象
- 7. Java:使用HashSet創建對象
- 8. Java - 搜索對象字段的HashSet
- 9. 整數對添加到HashSet的java的
- 10. 按java中的值對HashSet進行排序
- 11. 'Set = new HashSet'或'HashSet = new Hashset'?
- 12. JAVA HashSet的訂單
- 13. scala迭代java hashSet
- 14. Java HashSet到陣列
- 15. 更改值HashSet的
- 16. 將Java HashSet/HashMap自定義對象作爲關鍵字的權威性文檔?
- 17. 解析鍵=在Java中值對與無價值鍵啓用
- 18. 的Java的Hashset搜索
- 19. Java中的HashSet碰撞
- 20. Java:「myString [hey,there]」到HashSet?
- 21. Java HashSet錯誤的大小
- 22. Java HashMap vs hashset性能
- 23. Java的HashSet相當於PHP
- 24. 替換HashSet Java成員
- 25. Java讀取xml中的鍵值對
- 26. java計數重複鍵值對?
- 27. JSON到動態鍵值對的JAVA POJO
- 28. 優先隊列插入鍵值對java
- 29. Java Hashmap從對象鍵獲取值
- 30. 使用HashSet的值作爲鍵一個HashMap
你的意思是HashMap? HashSet不包含鍵/值對。 – 2010-03-23 22:37:48