当前位置: 首页 > 知识库问答 >
问题:

可变对象数组的大小如何保持不变?[副本]

澹台星剑
2023-03-14

假设我们有一个由三个数组组成的数组,每个数组的初始容量为10。然后会为30个容量分配空间,对吗?那么,当Y发生变异,现在容量为20时会发生什么呢?或者,如果数组解释了这些变化,并分配了比最初需要的更多的空间,那么它会得到多少空间(例如在Java中),以及当这些空间用完时会发生什么?

共有1个答案

萧亦
2023-03-14

不。A的容量为3,并存储指向位于内存中其他位置(任意位置)的ArrayList对象的指针。

(然后,每个数组列表对象本身都有一个指向大小为10的数组的指针,当Y数组发生变化并且现在的容量为20时,原来的大小为10的数组将被丢弃,Y的指针将更改为指向大小为20的新数组。)

 类似资料:
  • 问题内容: 我正在努力使可变对象与不可变对象有关。使用可变对象会带来很多负面影响(例如,从方法中返回字符串数组),但是我很难理解它的负面影响。使用可变对象的最佳实践是什么?您是否应尽可能避免使用它们? 问题答案: 好吧,这有几个方面。 没有参考身份的可变对象会在奇数时间导致错误。例如,考虑使用基于值的方法的 : 当实例用作键时,实例在映射中“丢失”,因为实例和相等性基于可变值。这些值在映射之外更改

  • 下面是一个不可变类的示例: 下面是类的实现: 当我创建的实例时,我正在的构造函数中对进行深度复制,但是我能够通过更新的值,这种方法破坏了my类的不变性。我在这里做错了什么?

  • 本文向大家介绍浅谈Python中的可变对象和不可变对象,包括了浅谈Python中的可变对象和不可变对象的使用技巧和注意事项,需要的朋友参考一下 什么是可变/不可变对象 不可变对象,该对象所指向的内存中的值不能被改变。当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份后再改变,这会开辟一个新的地址,变量再指向这个新的地址。 可变对象,该对象所指向的内存中的值可以被改变。变量(准确

  • 我有这个: 我想要这个: 怎么做?谢了!

  • 我有一个不可变对象,它是使用组件映射的Hibernate持久化对象的成员。例如,对应于一个表,该表的字段类型为immutable: 在我的: 这不起作用,因为在运行时HiberNate抱怨没有和的设置器。有没有办法使用不可变对象作为HiberNate持久对象的组件? 跟进:我没有使用注释,而是使用。和都不是。

  • 问题内容: 这是Java Concurrency in Practice中的一句话 共享的只读对象包括不可变的和实际上不可变的对象。 不变对象和有效不变对象之间有什么区别? 问题答案: 不可扩展且其字段全部为自身且不可变的类的实例是不可变的。 由于其方法的详细信息而无法更改其字段的类的实例实际上是不可变的。例如: 的某些实例实际上是不可变的,而有些则不是。 另一个例子是零长度数组。它们实际上是不可