JAVA数组的扩容,三种不同的方法,欢迎批评指正
/**
Java数组扩容,三种方法,有什么不妥的地方,欢迎批评指正
*/
import java.util.Arrays;//在这里需要调用的函数
class Demo{
public static void main(String[] args){
int[] a={1,2,3,4,5,6,7,9};
//第一种方法,建立一个新的数组,通过for循环来进行拷贝扩容
int[] b=new int[a.length*2];//a.length:长度,a数组的长度,即数组中数据的个数
for(int i=0;i<a.length;i++){
b[i]=a[i];
}
System.out.println(Arrays.toString(b));//这个函数就是将数组b进行遍历并输出
//如果不明白遍历什么意思,建议先学习遍历后再来看此篇文章
//第二种方法,固定的写法,System.Arrays.copy(a,0,b,0,a.length);
int[] c=new int[20];
System.arraycopy(a,0,c,0,a.length);
//a,需要需要复制的内容,第一个0(零):在a中开始复制的内容位置
//c,要复制的载体,这里写c就是将a中需要复制的内容赋值给c
//第二个0(零):在c中开始复制的位置
//a.length:要复制的元素量
System.out.println(Arrays.toString(c));
//方法三。利用方法函数直接
//原理,利用Arrays中的函数进行扩容
int[] d=Arrays.copyOf(a,22);//此函数的作用就是复制a的值,定义d的长度
// Arrays.copyOf(a,22);a,需要复制的内容(a数组),22:数组长度
System.out.println(Arrays.toString(d));
}
}