【发布时间】:2014-02-01 14:51:54
【问题描述】:
我一直在研究寻找更快的列表替代方案。在一本算法书中,hashtable 似乎是使用单独链接最快的。然后我发现java有一个hashtable的实现,从我读到的它似乎使用了单独的链接。但是,存在同步开销,因此建议使用hashmap 作为hashtable 的更快替代方案。
我的问题是:
- java
hashmap是java实现最快的数据结构吗 插入/删除/搜索? - 在阅读时,有几篇帖子对
hashmap。一个帖子提到一个空的hashmap占300 字节。hashtable是否比hasmap更节省内存? - 另外,
hash函数是每个函数中最有效的strings?
【问题讨论】:
-
如果任何一种数据结构在所有情况下都是最有效的,那么根本不需要任何其他数据结构。现在请解释你的场景。
-
我认为这取决于您使用的数据类型和预期的场景。你能解释一下你的应用程序的需求吗?顺便说一句,您可以设置 hashMap 的初始容量,而不是使用默认容量。
-
哈希表可以是“空的”,但仍需要相应的基本数组 - 该数组的大小取决于您制作的哈希表有多大。
标签: java algorithm hashmap hashtable hashalgorithm