Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果我们给2^30初始大小和加载因子=1,HashMap中会发生什么?_Java_Collections_Hashmap - Fatal编程技术网

Java 如果我们给2^30初始大小和加载因子=1,HashMap中会发生什么?

Java 如果我们给2^30初始大小和加载因子=1,HashMap中会发生什么?,java,collections,hashmap,Java,Collections,Hashmap,我搜索了很多,但没有找到大致相同的:- 在这种情况下,如果hashmap达到最大容量,它如何调整大小? 它是否会抛出一些异常,因为它无法增加其最大大小(2查看源代码,它只是停止将自身大小调整到该最大大小之外 这意味着(如果您甚至可以在不耗尽内存的情况下达到这一点),您不会得到任何额外的存储桶。但无论如何,您不能得到更多,因为hashCode返回一个int,并且使用2^30,您已经几乎超出了该范围。Java中的数组也不能超出int索引的范围(并且HashMap存储桶存储在一个数组中) 再次假设您有

我搜索了很多,但没有找到大致相同的:- 在这种情况下,如果hashmap达到最大容量,它如何调整大小?
它是否会抛出一些异常,因为它无法增加其最大大小(2查看源代码,它只是停止将自身大小调整到该最大大小之外

这意味着(如果您甚至可以在不耗尽内存的情况下达到这一点),您不会得到任何额外的存储桶。但无论如何,您不能得到更多,因为
hashCode
返回一个
int
,并且使用2^30,您已经几乎超出了该范围。Java中的数组也不能超出
int
索引的范围(并且HashMap存储桶存储在一个数组中)

再次假设您有足够的内存,您可以继续添加更多的元素,它们将“碰撞”到相同的存储桶中