我一直在研究寻找更快的列表替代方法。在一个算法书中,hashtable
似乎是使用分离链接法最快的方法。然后我发现 Java 实现了 hashtable
,从我所读的资料来看它似乎也使用了分离链接法。然而,由于存在同步开销,因此建议使用 hashmap
来替代 hashtable
。
我的问题是:
- Java 中的
hashmap
是否是插入/删除/搜索最快的数据结构? - 在阅读过程中,有些帖子对
hashmap
的内存使用量表示担忧。其中一篇帖子提到,一个空的hashmap
占用 300 字节。相比之下,hashtable
是否更加内存高效? - 此外,每个
hash
函数对于strings
来说是否都是最有效的?