集合的最大容量

87 阅读1分钟

ArrayList

我们看ArrayList的源码之后我们发现了一个MAX_ARRAY_SIZE我觉得应该就是表示最大容量了。

屏幕截图 2022-10-15 143822.jpg 那这个值是什么呢? 我们看到有Integer.MAX_VALUE这个熟悉的面孔,所以这个是整数的最大值,那么ArrayList的最大值就是Integer.MAX_VALUE - 8

LinkedList

这个应该是无限的,因为里面是链表可以一直串下去。看了源码之后也没有关于最大值的属性,就只有四个属性

  • size(大小)
  • first(第一个元素)
  • last(最后一个元素)
  • serialVersionUID(序列化版本号)

HashSet

因为set的底层原理是map实现的所以我点到HashSet里面之后我找到了一个方法。

屏幕截图 2022-10-15 145044.jpg

然后点进去之后我们就能找到map里面了,然后就发现了一个属性

屏幕截图 2022-10-15 144923.jpg 这个属性就表示了最大的元素。

HashMap

这个是同上面的HashSet的

PriorityQueue

屏幕截图 2022-10-15 150200.jpg 跟数组一样是Integer.MAX_VALUE - 8

我看到

屏幕截图 2022-10-15 150252.jpg 我发现底层是数组实现的,那么最大容量也应该是数组的最大容量。