- 第一种
int[] arr1 = new int[5]; //原数组
int[] arr2 = new int[arr1.length * 2]; //新数组 扩容两倍
for (int i = 0; i < arr1.length; i++) {
arr2[i] = arr1[i]; //复制操作,将原数组中的内容拿出来放到新数组中
}
arr2[6] =4;//按照下标插入
System.out.println(arr2.length); //10
- 第二种copyof
使用java的util包的Arrays类的copyOf(原数组名,新数组长度)方法来进行复制
int[] arr1 = new int[5];
//调用copyOf,注意参数说明 建议在原来的基础上添加arr1.length+3
arr1 = Arrays.copyOf(arr1, 8);
System.out.println(arr1.length); //8
- 第三种
int[] arr2=new int[arr1.length*2]
System.arraycopy(原数组名,起始下标,新数组名,起始下标,复制长度);
一般笔试的时候关于数组的问题,就会让写一个扩容的例子,或者排序。



