关于数组扩容问题:
1.数组的长度一旦确定,不可变
2.如果想对数组进行扩容,只能创建一个新的数组,将原数组的数据全部拷贝到新数组中,这样就完成扩容操作了
3.尽量减少扩容操作,可以预测数据量,创建一个容量大小合适的数组
4.扩容的时候需要使用数组的拷贝,怎么用?
System.arraycopy()方法
public class ArraycopyTest{
public static void main(String[] args){
//创建arr1数组
int[] arr = new int[]{1,2,3,4,5};
//创建一个新的数组,长度要比arr1长
int[] newArr = new int[arr.length * 2];
//用arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
System.arraycopy(arr, 0, newArr, 0, 5);
//这样数组就扩容完成了,解释一下上边方法的意思:
//从arr数组下标0处开始拷,从newArr数组下标0处开始放,拷贝的长度是5
}
}