我最近查看了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