Java中的集合容量有限?



我正在阅读集合,也就是Vector,但是我无法理解其中的一部分

每个vector都试图通过保持一个capacity和一个capacityIncrement来优化存储管理。容量总是至少和矢量大小一样大;它通常更大,因为随着组件被添加到vector中,vector的存储空间会以块的形式增加capacityIncrement的大小。应用程序可以在插入大量组件之前增加矢量的容量;这减少了增量重新分配的数量。

我一直在阅读很少关于java中的集合,我看到的很少,我意识到他们是动态的,但直到那一刻,我认为他们是无限的,我不知道如果他们是,这个容量和capacityIncrement混淆了我,有人可以解释我他们是由什么组成的,请?:)

您可以向集合添加任意数量的元素。从这个意义上说,它们是无限的。

一些集合有一个内部容量,它描述了在不分配更多内存或重建其内部数据结构的情况下,集合可以容纳

元素的数量。通过提前正确设置容量,您可以确保集合不需要分配多余的内存,或者花费额外的时间重建其数据结构。设置容量是为了优化性能,而不是为了向集合中添加多少元素。

(最后,作为旁注,我建议注意Vector如何有效地被ArrayList取代了几十年,以及您应该如何永远不要再使用它。)

最新更新