当前位置: 首页 > 面试题库 >

我们可以在Java中调整数组的大小吗?

赵同
2023-03-14
问题内容

我们可以在Java中调整数组的大小吗?如果没有,请解释一下:

    int arr[] = new int[1];
    arr[0]=-10;
    //arr[1]=1;
    arr=new int[2];  //Explain this
    arr[0]=-1;
    arr[1]=1;
    System.out.println(arr[0]+" "+arr[1]);

问题答案:

就我而言,调整数组大小是不可能的。

要了解代码为什么起作用,您需要了解数组是引用类型。arr持有对实际数组的引用,如下所示:

      holds                points to
arr ----------> reference -----------> array object

在这一行:

arr=new int[2];

最终,您对数组对象不做任何事情。您基本上是在说:

arr。我不希望您再保留 参考。放开并保持 引用(这是一个长度为2的数组)!

“那么长度为1的原始数组对象会发生什么?” 你问。这是GC到位的地方。在某个时候,将收集没有引用指向的对象。



 类似资料:
  • 本文向大家介绍如何在Java中调整数组大小?,包括了如何在Java中调整数组大小?的使用技巧和注意事项,需要的朋友参考一下 数组无法在Java中动态调整大小。  一种方法是使用java.util.ArrayList(或java.util.Vector)代替本机数组。 另一种方法是重新分配大小不同的数组,然后将旧数组的内容复制到新数组。 例: 输出:

  • 问题内容: 我想知道如何在Kotlin中制作可调整大小的二维数组。 C ++示例: 我试过的 但是使用seqList.add()时出现错误 错误:未解决的参考:添加 我在stackoverflow上阅读了有关Kotlin中2d数组的一些问题,但它们与不可调整大小的数组有关或已过时 问题答案: 科特林有独立和接口,解释在这里,例如。是一个,您只需将其另存为变量,即可访问对其进行变异的方法: 还要注意

  • 问题内容: 我来自C ++背景,并且习惯于使用此类的东西。假设我想要这些的动态数组: 这样做的标准方法是什么? 摘要非常有用 问题答案: 使用内置 例: 有关附加的更多信息,请参考规范。

  • 我有一个尺寸为800x800的图像,其大小为170 kb。我想将此图像调整为600x600。调整大小后,我希望缩小图像大小。我该怎么做?

  • 通常,列表可以实现为链表(遍历速度较慢),也可以实现为数组列表(插入元素时速度较慢)。 我想知道是否有可能使用处理器的MMU来更有效地实现列表,只要插入或删除一个元素,就可以重新映射而不是复制内存。这意味着数组中任何地方的索引和插入/删除速度都要达到O(1),比任何其他列表实现都要好。 我的问题是: 程序是否真的能够控制自己的虚拟内存,或者是否需要对操作系统进行更改 每个进程的页表条目数是否有限制

  • 如何动态调整列的大小以支持可能的不规则数组? 上面的代码会分配每个col的长度吗? 事先谢谢你的帮助。