当前位置: 首页 > 面试题库 >

我可以在Java的HashMap对象中存储多少个元素

潘辰龙
2023-03-14
问题内容

我知道这取决于系统中可用的内存,还取决于良好的哈希函数,但总的来说,我想知道您使用的最大地图是什么,以及是否开箱即用,需要进行任何调整才能使其正常运行。


问题答案:

HashMapJava中的A 最多可以有2 ^ 30个存储桶来存储条目-
这是因为所使用的存储桶分配技术java.util.HashMap要求存储桶的数量为2的幂,并且因为ints是用Java签名的,所以最大正值是2 ^
31-1,因此2的最大乘方是2 ^ 30。

但是,实际上,在HashMap中可以存储多少个键/值对没有编程上的限制- size()一旦传递2 ^
31-1,该函数就将不再准确。这是因为处理冲突的方式-键落在同一存储桶中的/ value对被链接起来,就像中的节点LinkedList

但是,总的来说,如果您需要跟踪2 ^
30个东西,而在实际应用程序中需要跟踪这些东西,则您需要的内存要比在一台计算机上所依赖的要多得多。我曾经在单个JVM中使用过的最大的HashMap拥有数千万个条目,这些条目都很轻巧



 类似资料:
  • 本文向大家介绍我可以在JavaScript cookie中存储多少数据?,包括了我可以在JavaScript cookie中存储多少数据?的使用技巧和注意事项,需要的朋友参考一下 以下是您可以存储在JavaScript cookie中的日期的详细信息- 网页浏览器 最大Cookie 每个Cookie的最大大小 谷歌浏览器 180 4096字节 火狐浏览器 150 4097字节 歌剧 180 409

  • 问题内容: 我是一个自学者。当前,我正在制作一个需要矩阵型数据库的GUI项目。 我想学习如何创建一个可以在arraylist中存储多个对象的类。 这是我的示例代码。请注意,这只是我的尝试。该代码尚未完成,因此无法正常工作。 谢谢你的热心帮助。 }} 问题答案: 我认为一种更好的方法是创建一个用户信息类来存储特定用户的信息。 然后将其放入ArrayList中。 然后,对于您当前的方法,您可以

  • 问题内容: 有谁知道您可以在Redis中存储的最大值是多少?我想将redis与celery一起用作消息队列,以存储一些需要由工作人员在另一台服务器上处理的小文档,并且我想确保这些文档不会太大。 我找到了一个引用1GB的页面,但是当我按照页面上的链接获取答案时,该链接不再有效。链接在这里: http://news.ycombinator.com/item?id=1182005 谢谢,肯 问题答案:

  • 问题内容: 对于可以存储在HashMap中的键条目的数量有理论上的限制吗?或者最大数目纯粹取决于可用的堆内存吗? 另外,哪种数据结构最适合存储大量对象(例如数十万个对象)? 问题答案: 可存储在HashMap中的键条目的数量是否有理论上的限制,还是仅取决于可用的堆内存? 查看该类的文档,我会说理论极限是(2 31 -1 = 2147483647)个元素。 这是因为要正确实现此类,该方法必须返回一个

  • 我正在使用放心进行API测试自动化。我想在调用API后将响应存储为对象,这样我就可以使用该对象验证一些数据,如状态代码、正文、标题等。 我试着使用但它只允许存储字符串,如果将响应存储为类似字符串的并尝试检索

  • 每个类都有一些独特的字段。所有最大的功能是:添加,更新,删除,查找,显示列表,保存,加载文件 -所以,首先我将创建一个名为Product的类,它有4个公共字段。以上课程将从产品延伸。 -然后,我想我可能会创建一个ComputerStore类,它有一个字段是items类型ArrayList。items存储所有的对象,这些对象是上述4个类的实例,但我不确定。