可变对象数组如何保持大小不变 ?

问题描述 投票:0回答:1

假设我们的array A为三个ArrayLists XYZ,它们的初始容量为10。然后,将为A分配30个容量的空间,对吧?那么,当Y突变并且现在容量为20时会发生什么?或者,如果数组考虑到此类突变并分配了更多的空间,那么它最初需要的是,它获得了多少空间(例如,在Java中),并且当该空间用完时会发生什么?

java arrays memory-management
1个回答
1
投票

没有A的容量为[[three,并存储指向内存中其他位置(任意位置)的ArrayList对象的指针。

(然后,每个ArrayList对象本身都有一个指向大小为10的数组的指针,当Y发生突变并且现在具有容量20时,将丢弃原始的size-10数组,并且Y的指针变为指向大小为20的

new

数组。)
© www.soinside.com 2019 - 2024. All rights reserved.