地图键的大小是否会对任何类型的Map实现(例如HashMap)产生任何影响(例如在Performance中)?
以下迭代是否会受到Key对象大小的影响?
Map<Object, Object> map = new HashMap<Object, Object>();
//...
for(Map.Entry<Object, Object> entry : map.entrySet())
{
//...
}
答案 0 :(得分:1)
不,关键对象的大小与迭代地图的性能无关。
请注意,非基本类型的变量始终是Java中的引用(它们不是对象本身,如在C ++中)。如果引用指向小对象或大对象,则无关紧要。
答案 1 :(得分:0)
无论如何你只能使用引用作为键,所以没关系。
答案 2 :(得分:0)
我并不真正理解对象的'大小'是什么意思,因为对象只能包含基元和对象的引用。
我怀疑对于HashMap,hashCode()
函数会在一定程度上影响性能。这取决于密钥的大小取决于hashCode()
的实现。类似的附带条件适用于equals()
方法。