java自定义HashMap实现
这个问题是在一次采访中问我的。我认为获得最佳解决方案的唯一方法是SOF。所以问题是“如何在java中实现自定义HashMap(假设没有名为HashMap的数据结构)”。我能想到的唯一答案是实现关联数组(不过,Java没有关联数组)。 请专家们就这个问题倾诉一下你的想法好吗
你可以在下面搜索框中键入要查询的问题!
这个问题是在一次采访中问我的。我认为获得最佳解决方案的唯一方法是SOF。所以问题是“如何在java中实现自定义HashMap(假设没有名为HashMap的数据结构)”。我能想到的唯一答案是实现关联数组(不过,Java没有关联数组)。 请专家们就这个问题倾诉一下你的想法好吗
# 1 楼答案
你应该使用一维数组。对象[]arr
数组的索引是键对象的标准化哈希代码。阵列容纳这对
值由Key和value组成的原因是,如果存在任何哈希冲突,它必须遍历插槽中的键列表,找出哪个键是正确的键(在Key对象上使用equals)
# 2 楼答案
# 3 楼答案
请看Cliff Click的nonblockinghahmap,以获取一个需要用java实现的hashmap的示例。 记住,关联数组只是哈希映射的另一个名称,所以他在问你如何实现它
通常,哈希是使用标准数组实现的(而不是列表或任何追求速度的东西)。问题是每个阵列中都有什么。。。在哈希冲突的情况下,是要使用LinkedList(链接),还是要重新哈希并转到另一个数组位置(开放寻址)。阅读更多的计算机科学,了解两者的成本/收益
# 4 楼答案
参考资料: -http://javarevisited.blogspot.sg/2011/10/override-hashcode-in-java-example.html -http://javarevisited.blogspot.in/2011/02/how-to-write-equals-method-in-java.html