Wei*_* Li 3 java hashmap hashset data-structures
众所周知,在Sun(Oracle)JDK中,HashSet实现了一个支持HashMap,以重用复杂的算法和数据结构.但是,有可能实现一个MyHashMap使用java.util.HashSet作为它的背面?如果可能,怎么样?如果没有,为什么?
请注意,此问题仅是对编码技巧的讨论,不适用于生产场景.
Trove将它的Map基于它的Set实现.但是,它有一个缺少Set的关键方法,它是一个get()方法.
如果没有get(Element)方法,HashSet就无法执行查找,这是Map的关键功能.(原谅双关语)唯一的选择Set是一个包含可以被黑客攻击来执行get()但它不是理想的.
你可以有;
Set可以被设计为扩展为Map,但它不是,并且使用HashSet或现有的Set实现来创建Map不是一个好主意.
| 归档时间: |
|
| 查看次数: |
69 次 |
| 最近记录: |