我們可以做一個實現地圖的集合嗎?謝謝。收藏和地圖
收藏和地圖
回答
根據定義,地圖是一個「集合」。但是,如果實施Map
interface,則不會有Collection
的子類,因爲Map
接口不會擴展Collection
interface。原因是地圖對鍵值對有效,而集合只是將單個對象組合在一起。
Map
和Collection
接口之間也有一些衝突。例如,你將不得不實施toArray
,對我而言,在地圖上沒有意義。另外,remove
方法有不同的簽名。
@Thomas - 地圖上的toArray可能是一個Map.Entry數組。但是,刪除點仍然有效。 – MetroidFan2002 2010-01-21 21:26:46
確實如此,但它在地圖上是一個模糊的函數,IMO。它會返回一個數組,以便我%2 == 0是鍵和i%2 == 1是值嗎?或者只是價值觀?或者只是鍵? – 2010-01-21 21:42:57
有兩種方法可以理解這個問題。
在技術層面上,一個類可以同時實現兩個接口嗎?不,因爲remove方法在兩個接口之間不兼容(一個返回Object,另一個返回Boolean)。
在概念層面上,Map的Map.EntrySet是Map的集合表示,所以當你需要一個Collection時,你可能會利用它。
如果您只是想要Map中值的集合,只需使用Map.values()方法即可。
是的,你可以用一個類實現兩個不同的接口。 編輯:除去remove方法中的不兼容性。 (謝謝托馬斯)
但是,在這種情況下,您可以使用Map的一些實現並使用Map.entrySet(),Map.keySet()和Map.values()返回一個條目,鍵和值集合respectivelly。
這取決於什麼?如果你需要有序地訪問密鑰集或許你應該使用TreeMap,則保持並下令鍵的樹,你可以訪問和怎麼樣,你有興趣的集合。
。
這是不可能由於具有相同簽名的Collection和Map接口上的remove方法的返回類型不兼容。
。
返回類型爲boolean
java.util.Collection
public boolean remove(Object o)
。
返回類型爲java.lang.Object
java.util.Map
public Object remove(Object key)
- 1. 地圖收藏
- 2. 收藏和地圖有什麼區別?
- 3. Automapper地圖定製收藏
- 4. 谷歌收藏訂購地圖價值
- 5. 收藏:未定義K,V在地圖
- 6. 螞蟻 - 打印收藏 - 地圖
- 7. Automapper地圖物業作爲收藏
- 8. 結合過濾器和地圖中的Xtend收藏
- 9. 「收藏」,「收藏」和「收藏」之間的區別是什麼?
- 10. 收藏列表和網格視圖
- 11. 收藏和內容
- 12. 從收藏品收藏
- 13. flash收藏圖片來回
- 14. 收藏和草稿,或
- 15. API Java列表和收藏
- 16. 收藏列表和字典
- 17. 收集在java中的地圖和HashMap
- 18. 流API總和與收集到地圖
- 19. Java 8流:收集地圖到地圖和構造函數
- 20. Google圖表中的用戶指定區域和國家/地區收藏
- 21. 在收集地圖
- 22. 可以使用集合,袋子,非收藏關係的地圖
- 23. 的Java 8個流/收藏家與地圖
- 24. 谷歌地圖被用放入收藏夾
- 25. 獲取鑰匙在收藏家.to地圖
- 26. 泛型方法來管理地圖收藏
- 27. 蒙古地圖/減少大型收藏放緩
- 28. 排序本地收藏在包
- 29. 房地產不存在 - 收藏
- 30. 獲取產品收藏更有效地
你的意思是「地圖(高階函數)」或「關聯數組」? http://en.wikipedia.org/wiki/Map_(disambiguation) – MBO 2010-01-21 21:22:40
這已經是第三個與您在短時間內詢問的藏品/地圖有關的問題了。你應該真的嘗試用一個聰明的方式將這個問題分組在一個問題中。即詳細描述整個功能需求,詳細闡述現有實現失敗的原因/方式。不要在不同的主題上發佈主題,只會對**你**和** **產生不利影響。閱讀:http://catb.org/esr/faqs/smart-questions。html – BalusC 2010-01-21 21:26:13