我最近查看了HashSet Collection類 的源代碼,發現它由HashMap支持。 HashSet將所有方法調用委託給HashMap。所以我只是想知道這是否是適配器模式的一個很好的例子。Java中的HashSet實現是適配器模式的一個很好的例子
2
A
回答
1
我會說這不是一個適配器。
適配器包裝其他對象以更改其方法簽名以匹配某個其他接口。這不是真的。 HashSet
未將Map
轉換爲Set。它只是在內部使用一套工具來完成它的工作。
如果你創建了一個有String
字段的類,會說你正在修改字符串嗎?不,你只是在使用它。
+0
將方法調用委託給HashMap使我認爲它使用了適配器模式。所有的方法都將他們的工作委託給HashMap。 –
0
不是真的,因爲功能正在流失。 A java.util.Set
只存儲密鑰,而java.util.Map
存儲密鑰和值。他們不相等。
適配器通常是將一個接口適配到另一個接口的東西,其中兩個接口執行相同/類似的事情,但具有不同的簽名。例如,可以使適配器適應java.util.Enumeration
到java.util.Iterator
。或者可能是java.io.InputStream
和java.io.Writer
之間的適配器,如java.io.InputStreamWriter
。
相關問題
- 1. 這是一個真正的適配器模式的例子嗎?
- 2. Flyweight模式的一個很好的例子是什麼?
- 3. WindowAdapter是Java Swing中的適配器模式實現嗎?
- 4. 這是一個很好的例子爲策略模式
- 5. 實現適配器模式
- 6. 適配器模式實現
- 7. 是不是很好,每個PHP類實現一個Singleton模式
- 8. 這是一個很好的實現gameloop
- 9. 實現適配器模式的困惑
- 10. C++中的適配器公共函數 - 很好?壞?甚至是一個真實的模式
- 11. 開源Java遊戲的一個很好的例子是什麼?
- 12. Singleton模式是RedissonClient的一個很好的用例嗎?
- 13. Erlang中一個很好的OpenID實現?
- 14. NHibernate和狀態模式持久性 - 一個很好的實現?
- 15. 這是表示抽象工廠模式的一個很好的例子
- 16. 這是一個很好的策略模式用例嗎?
- 17. 尋找一個好的模式來實現查看適配器的對象,在Java/JSP
- 18. 從.NET調用COM,它是適配器模式的一個例子嗎?
- 19. Java中的單例模式實現
- 20. 很好的例子
- 21. 如何實現Marching Cubes的一個很好的示例代碼?
- 22. SQL中的單行表:這是一個很好的實現嗎?
- 23. 是Java本地接口(JNI),用於適配器模式的例子?
- 24. 是否有一個很好的設計模式來實現可選功能?
- 25. 什麼是一個很好的項目來學習現代模式和實踐?
- 26. 實現「時尚」大型輸入文本框的一個很好的例子?
- 27. 是通過HashMap實例HashSet實現
- 28. 這個實現是PHP中Promise的一個合適的例子嗎?
- 29. 這是一個很好的使用繼承的例子嗎?
- 30. 什麼是CSS依賴javascript的一個很好的例子?
你爲什麼認爲這是?代表團只是適配器的一部分。您需要使用哪些API但無法更改?假設你的意思是對象適配器。 – Fuhrmanator