2013-03-17 122 views
-2

在最近的一次采访中,我被问到如何使用Java编写您自己的HashMap/Hashtable实现。创建您自己的散列表和散列表

我不知道这个,所以我说的唯一答案就是我们可以通过使用Array来实现HashMap,因为只有这样才能提供持续时间访问,如果您知道索引。关键是编写散列函数以最小化冲突。

您能否告诉我我们如何编写我们自己的Hashmap/Hashtable

+2

在这里你去:) http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/HashMap.java。对于hastable http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/Hashtable.java – 2013-03-17 12:51:27

+0

搜索“如何编写哈希映射“:http://whileonefork.blogspot.de/2011/02/hashmap-101-build-your-own.html – 2013-03-17 12:52:06

+2

结帐[HashMap](http://grepcode.com/file/repository.grepcode。 com/java/root/jdk/openjdk/7-b147/java/util/HashMap.java)。 – yair 2013-03-17 12:52:38

回答

6
+0

这是趋势java问题,即使我在面试中被问到同一个问题。答案就是创建一个带有键值的Entry类,就像条目一样。然后为get(key),put(key,value),remove(key)等方法添加一些实现。我发现一个自定义HashMap的算法可能会帮助你。查看链接: – Harleen 2016-04-06 16:13:55