地图键的大小是否有影响?

时间:2012-10-17 14:55:20

标签: java map hashmap

地图键的大小是否会对任何类型的Map实现(例如HashMap)产生任何影响(例如在Performance中)?

以下迭代是否会受到Key对象大小的影响?

Map<Object, Object> map = new HashMap<Object, Object>();
//...
for(Map.Entry<Object, Object> entry : map.entrySet())
{
    //...
}

3 个答案:

答案 0 :(得分:1)

不,关键对象的大小与迭代地图的性能无关。

请注意,非基本类型的变量始终是Java中的引用(它们不是对象本身,如在C ++中)。如果引用指向小对象或大对象,则无关紧要。

答案 1 :(得分:0)

无论如何你只能使用引用作为键,所以没关系。

答案 2 :(得分:0)

我并不真正理解对象的'大小'是什么意思,因为对象只能包含基元和对象的引用。

我怀疑对于HashMap,hashCode()函数会在一定程度上影响性能。这取决于密钥的大小取决于hashCode()实现。类似的附带条件适用于equals()方法。