【发布时间】:2016-07-28 23:35:29
【问题描述】:
我在 java 中编写了一个标准的 Hash Table 类。它有大量的桶数组,要插入、检索或删除元素,我只需计算元素的哈希值并查看数组中的适当索引即可获得正确的桶。
但是,我想实现某种迭代器。除了遍历数组中的所有索引并忽略那些为空的索引之外,还有其他方法吗?因为我的哈希表可能包含数百个空条目,并且只有少数已被哈希和插入的元素。当 n
要实现 findMin,我可以在每次插入新元素时简单地保存最小元素,但我想使用迭代器方法。
谢谢!
【问题讨论】:
-
如果你需要一个迭代器,那么也许需要一个新的设计。也许是一个列表而不是一个稀疏数组?默认的 java 实现使用映射(字典)。这有很多好处。
-
我只是做了这个实现来更好地理解我的数据结构课程。我不是在寻找一个毫无疑问会加快速度的已经完成的实现。
标签: java data-structures hash hashmap hashtable