【问题标题】:How does an array of mutable objects stay constant in size? [duplicate]可变对象数组如何保持大小不变​​? [复制]
【发布时间】:2020-08-25 13:21:48
【问题描述】:

假设我们有一个 array A 三个 ArrayLists XYZ,每个初始容量为 10。那么 A 将被分配容量为 30 的空间,正确的?那么当Y 发生突变并且现在容量为 20 时会发生什么?或者,如果数组考虑了这种突变并被分配了更多的空间,那么它最初需要,它获得了多少空间(例如在 Java 中)以及当这些空间用完时会发生什么?

【问题讨论】:

    标签: java arrays memory-management


    【解决方案1】:

    没有。 A 有容量三个,并存储指向ArrayList 对象的指针,这些对象位于内存中的其他位置——任意位置。

    (那么每个ArrayList对象本身都有一个指向大小为10的数组的指针,当Y发生突变并且现在容量为20时,原始大小为10的数组被丢弃,Y的指针被改变指向一个大小为 20 的 new 数组。)

    【讨论】:

      猜你喜欢
      • 2011-11-16
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 2020-08-24
      • 2011-01-28
      • 1970-01-01
      • 2015-02-12
      • 1970-01-01
      相关资源
      最近更新 更多