相关疑难解决方法(0)

达到HashMap或HashSet最大容量时会发生什么?

几分钟后,我回答了一个问题,询问" Java中HashMap的最大可能大小 ".正如我一直读到的,HashMap是一个可扩展的数据结构.它的大小仅受JVM内存大小的限制.因此,我认为它的大小没有硬性限制并相应地回答.(同样适用于HashSet.)

但有人纠正我说,既然大小() HashMap中的方法返回一个INT,还有就是它的大小有限制.一个完全正确的观点.我只是尝试在我的本地测试它但失败了,我需要超过8GB的内存来在HashMap中插入超过2,147,483,647个整数,我没有.

我的问题是:

  • 当我们尝试在HashMap/HashSet中插入2,147,483,647 + 1个元素时会发生什么?
  • 是否抛出错误?
  • 如果是,哪个错误?如果不是HashMap/HashSet会发生什么,它已经存在的元素和新元素?

如果某人有幸拥有16GB内存的机器,那么你可以尝试一下.:)

java size collections hashmap overflow

18
推荐指数
1
解决办法
1万
查看次数

标签 统计

collections ×1

hashmap ×1

java ×1

overflow ×1

size ×1