我知道这取决于系统中可用的内存,也取决于一个好的哈希函数,但一般来说我想知道你使用的最大地图是什么,如果它开箱即用或需要进行任何调整才能使其充分发挥作用.
tor*_*omp 13
HashMapJava中的A 最多可以有2 ^ 30个桶用于存储条目 - 这是因为所使用的桶分配技术java.util.HashMap要求桶的数量为2的幂,并且由于ints是用Java签名的,因此最大正值是2 ^ 31 - 1,所以2的最大功率是2 ^ 30.
但是,事实上对于你可以在HashMap中存储多少个键/值对没有编程限制 - size()一旦你通过2 ^ 31-1,该函数就会停止准确.这是因为处理冲突的方式 - 关键落在同一个桶中的/值对被链接,就像a中的节点一样LinkedList.
但是,一般情况下,如果您需要在实际应用程序中跟踪任何接近2 ^ 30的内容,则需要比在一台计算机上可以依赖的RAM多得多.我曾经使用过的最大的HashMap位于一个JVM中,有几千个条目,都非常轻量级