public class AdjustArrayLength {
/**
* 动态调整数组
* 1,创建一个新的数组,类型与原数组一样,但是长度不同
* 2,通过System的arraycopy方法将原数组的元素复制到新数组中
* */
public static int DEFAULT_LENGTH = 10;
public static Integer[] increase(Integer[] src){
return increase(src,DEFAULT_LENGTH);
}
public static Integer[] increase(Integer[] src, int length) {
if(src == null){
return null;
}
Integer[] result = new Integer[src.length+length];
System.arraycopy(src,0,result,0,src.length);
return result;
}
public static void print(Integer[] arr){
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]);
if(i%5==0){
System.out.println();
}
}
}
public static void main(String[] args) {
Integer[] arr = new Integer[10];
for(int i = 0;i<10;i++){
arr[i] = new Integer(i);
}
print(arr);
Integer[] newarr = AdjustArrayLength.increase(arr);
newarr[11] = 10;
print(newarr);
}
}
|
|