繁体   English   中英

地图密钥的大小是否有影响?

[英]Does The size of the Key of a Map have any impact?

Map的Key的大小在任何Map实现(例如HashMap)中是否有任何影响(例如Performance)?

密钥对象的大小会影响以下迭代吗?

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

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

请注意,非基本类型的变量在Java中始终是引用(它们不是对象本身,就像在C ++中一样)。 引用是指向小对象还是大对象都没有关系。

无论如何,您只能将引用用作键,所以没关系。

考虑到对象只能包含基元和对对象的引用,我不太理解您所说的对象“大小”是什么意思。

我怀疑对于HashMap, hashCode()函数会在某种程度上影响性能。 这是否取决于键的大小取决于hashCode()实现 类似的条件适用于equals()方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM