ArrayList逻辑大小等于容量

发布于 2025-01-07 07:02:48 字数 61 浏览 0 评论 0原文

当数组列表的逻辑大小达到其容量时,它是否将一个新数组链接到末尾,还是创建一个新数组并将所有值复制到新数组中?

When when an arraylist's logical size reaches its capacity, does it link a new array on to the end or does it make a new array and copy all the values into the new array?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

戴着白色围巾的女孩 2025-01-14 07:02:48

如果您指定您感兴趣的语言,您可能会得到更好的答案(即更有针对性,对您更有用)。许多常见的实现使用值块(如果是指针数组,则包括指针);当块中的空间用完时,分配一个更大的块,将现有值复制到新空间,并释放旧空间。有时您可以对这种情况的发生方式产生一些影响(例如,新空间与旧空间相比有多大),但是(当然)它取决于实现。大多数实现都致力于确保每次添加或删除一项时不会发生空间重新分配。这意味着此类实现中存在未使用的空间。

再次强调,如果您有更具体的兴趣,建议您尝试编辑您的帖子以突出重点。

如果你只是想学习,我建议使用Python。 StackOverflow 上有很多您可能会感兴趣的内容;这里只是几个:数组大小性能

You may get a better answer (i.e., more targeted, more useful to you) if you specify which language(s) you're interested in. Many common implementations use a block of values (including pointers, if an array of pointers); when the space in the block runs out, a larger block is allocated, the existing values copied forward to the new space, and the old space released. You can sometimes have some effect on how this happens (e.g., how much bigger is the new space compared to the old), but (of course) it's implementation dependent. Most implementations work at making sure each time you add or remove one item that reallocation of the space does not occur. This implies there is unused space in such implementations.

Again if you have a more specific interest, suggest you try editing your post to focus it a bit.

If you are just looking to learn, I'd suggest playing with Python. Lots of stuff on StackOverflow you may find interesting; here's just a couple: array size, performance.

和我恋爱吧 2025-01-14 07:02:48

第二个——它创建一个新数组并复制旧数组。如果你想避免复制,那么你可以使用 LinkedList 来代替,它只是向链添加新链接;但当然,这样您就无法获得单个元素数组提供的快速索引。

That second one -- it creates a new array and copies the old one over. If you want to avoid the copying, then you can use LinkedList instead, which does just add new links to a chain; but of course then you don't get the fast indexing that a single array of elements provides.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文