不同初始容量和负载因子的哈希图性能
这是我的情况。我正在使用两个java.util.HashMap在Tomcat上运行的Java Web应用程序中存储一些常用的数据。我知道每个哈希映射的确切条目数量。键将分别是字符串和整数。
我的问题是,设置初始容量和负载因子的最佳方法是什么?
我是否应将容量设置为等于它将具有的元素数和负载容量设置为 1.0?我希望在不使用太多内存的情况下获得绝对最佳性能。然而,我担心,这张桌子不会以最佳方式填满。使用所需确切大小的表格,是否会发生键冲突,导致(通常很短)扫描以找到正确的元素?
假设(这是一个延伸)哈希函数是整数键的简单mod 5,这是否意味着键5,10,15将命中相同的桶,然后导致搜索填充它们旁边的桶?较大的初始容量是否会提高性能?
此外,如果有比哈希图更好的数据结构,我也对此持完全开放态度。