「java里数组大小可变吗」java中数组大小可以任意改变吗

博主:adminadmin 2022-12-19 18:21:10 133

今天给各位分享java里数组大小可变吗的知识,其中也会对java中数组大小可以任意改变吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 数组的长度为什么不能改变

这种东西,就得问设计者了,设计就如此。。。

如果你想要用可变的数组,那就是ArrayList,用集合,可以当作可变长度数组

为什么说,Java数组声明了大小就不能修改?

当然不可以,形象的说你有200个空间,你现在分配了100个空间,还有一百个空间没有分配使用,这时候就可以从剩下的100个空间中取空间来用,可能现在就用了100-150的空间,数组的内存空间是连续的,你如果直接使用这101的话肯定就覆盖了其它数据了。

数组空间是静态分配的,就是初始化的时候就分配好了的,你如果需要修改就要使用链表之类的动态分配空间的类,学过数据结构应该都知道链表的使用。

数组的大小是可变的,但所有数组元素的类型必须相同。这句话对么?

取决于什么编程语言里的数组。比如:

C语言的数组大小和元素类型必须在编译期指定,一经指定不可改变。

Java语言的数组元素类型必须在编译期指定,数组大小可以运行时指定,但一经指定不可改变。

Perl/Python中的数组(列表)没有此类限制。

java中怎么实现可变数组

java中的数组是不可变的,所以要实现可变数组是不可能的了。如果非要改变数组的长度,那么也只能重新开辟一个新的数组然后将长度设定为想要的,然后放弃原来的数组,当然这个放弃的数组,如果没有被引用,它会很快就被GC掉。

java中有一个方法:System.arraycopy

通常我们都使用的是Arrays.copyOf,但你去看API就知道,其实Arrays.copyOf调用的也正是System.arraycopy

public static int[] copyOf(int[] original, int newLength) {

        int[] copy = new int[newLength];

        System.arraycopy(original, 0, copy, 0,

                         Math.min(original.length, newLength));

        return copy;

    }

请问在java中,数组不能动态调整其大小,有什么更好大办法呢?

//有,试试下面这段代码:

//Arrays.copyOf(X,newlength);这方法如果加长了,长了的元素就是默认值,短了,就删除了元素.

import java.util.Arrays;

public class DDDD {

public static void main(String[] args) {

int[] a=new int[(int)(Math.random()*100+1)];

System.out.println(a.length);

a=Arrays.copyOf(a, (int)(Math.random()*100+1));

System.out.println(a.length);

}

}

java中已经定义好的数组怎样扩大长度?

固定的了,不能扩,

只能重新定义一个需要的长度的数组,再把原来的数据库拷贝进去

java里数组大小可变吗的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java中数组大小可以任意改变吗、java里数组大小可变吗的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-19,除非注明,否则均为首码项目网原创文章,转载请注明出处。