【发布时间】:2013-03-28 11:09:46
【问题描述】:
我有一个列表 (List<T> list),我想使用映射 (HashMap<Integer, T> map) 通过对象的 ID 对其对象进行索引。我总是在HashMap 构造函数中使用list.size() 作为初始容量,如下面的代码所示。这是在这种情况下使用的最佳初始容量吗?
注意:我永远不会向地图添加更多项目。
List<T> list = myList;
Map<Integer, T> map = new HashMap<Integer, T>(list.size());
for(T item : list) {
map.put(item.getId(), item);
}
【问题讨论】:
-
我建议:1) 将您的变量声明为
Map而不是HashMap,2) 如果您注意到 使用分析器,请让 JVM 出现此类问题> 这会给你的表现带来冲击,然后开始评估它。 -
@LuiggiMendoza 通常是的,同意,但这是一个常见的用例,我们也可以摆脱重新调整大小
标签: java algorithm dictionary hashmap