是的,确切地说,每个存储桶可以有多个键值对。
hashCode()通过以下表达式确定要进入哪个存储桶:
object.hashCode() % n其中n =存储桶总数,
%是模运算符。
大多数情况下,对象会在各个存储桶中很好地分布,但是您无法保证它们会到达何处。这取决于数据和hashCode函数。
显然,当hashCode实现不佳时,hashmap的性能将下降。
另请阅读有关equals / hashpre合约的信息。
欢迎分享,转载请注明来源:内存溢出
是的,确切地说,每个存储桶可以有多个键值对。
hashCode()通过以下表达式确定要进入哪个存储桶:
object.hashCode() % n其中n =存储桶总数,
%是模运算符。
大多数情况下,对象会在各个存储桶中很好地分布,但是您无法保证它们会到达何处。这取决于数据和hashCode函数。
显然,当hashCode实现不佳时,hashmap的性能将下降。
另请阅读有关equals / hashpre合约的信息。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)