java中,初始化数组要求指定数组容量,但在许多情况下需要扩充数组容量。
有两种方法可以实现数组容量扩容:
public class Demo1 {
static int []array=new int [20];
public static void main(String[] args){
array=addLengthArray(array);
for(int i = 0;i<array.length;i++){
array[i]= i;
System.out.println(array[i]);
}
}
public static int[] addLengthArray(int[] array){
int[] newArray = new int [array.length*2];
//将array数组从0位置至array.length位置,复制到newArray数组0位置到array.length位置。
System.arraycopy(array,0,newArray,0,array.length);
return newArray;
}
}
1.上面的代码采用System.arraycopy方法实现,其声明为:
System.arraycopy(Object src,int srcPos,Object dest,int destPos, int length) ;
2.采用ArrayList类数组,它可以在需要时自动扩容;