【发布时间】:2013-03-05 20:20:35
【问题描述】:
在最近的一次采访中,有人问我如何用 Java 编写自己的 HashMap/Hashtable 实现。
我对此一无所知,所以我作为答案说的唯一一件事是我们可以通过使用数组来实现HashMap,因为如果您知道索引,只有这样才能提供恒定的时间访问。关键是编写散列函数以减少冲突。
您能否告诉我我们如何编写自己的Hashmap/Hashtable?
【问题讨论】:
-
搜索“如何编写哈希映射”时的第一个结果:whileonefork.blogspot.de/2011/02/…
-
在java中签出HashMap。
-
这在每个本科数据结构课程中都有讲授,并且在每个介绍性数据结构教科书中都有描述。
-
这是一个热门的 java 问题,即使我在一次采访中也被问到了同样的问题。答案是创建一个具有键值的 Entry 类,就像 Entry
一样。然后为get(key)、put(key,value)、remove(key)等方法添加一些实现。我发现了一个自定义 HashMap 的算法,它可能对你有帮助。查看链接:javamadesoeasy.com/2015/02/hashmap-custom-implementation.html
标签: java