使用哪种更好的选择:
HashMap
with initial size : HashMap hm = new HashMap(10);
或 HashMap
without initial size : HashMap hm = new HashMap()
? 又为什么呢?
loadfactor
属性中的 modcount
和 HashMap
又是什么?当我在 eclipse 中调试我的代码并查看
HashMap
的值时,它显示了一个名为 loadfactor
的属性,值为 0.75,一个名为 modcount
的属性值为 3。我在代码中使用 hashmap 的地方:-
我正在开发一个通信应用程序,你可以说是一个聊天应用程序。我将所有发送/接收的消息存储在 HashMap 中。现在,由于我无法假设用户将发送/接收多少条消息,因此我声明了一个没有初始容量的哈希图。我写的是
Map<String, Map<String, List<String>>> usersMessagesMap = new HashMap<String, Map<String,List<String>>>();
如果我以 100 或更高的初始容量使用它会影响代码吗?
最佳答案
您是否检查过 HashMap API Javadoc?
将初始大小设置得太高:
负载因子对性能的影响:
嗯,简而言之:根据估计的大小和预期的增长率,您必须选择近似值或相反。
通常,如果您知道 Map 的初始元素数量,建议在构建时设置它,避免在初始化时过早重新哈希。
关于java - 哪个是 HashMap 更好的选择?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4932259/