调用方法对数组进行扩容
1.灵感
学习了数组我们知道数组的缺点是无法自动扩容,再去学集合的时候发现集合能够自动扩容于是就想到了用集合扩容的原理来写一个方法让数组也能通过调用这个方法来扩容。下面是实现的代码:
public static void main(String[] args) { int[] arr=new int[10]; for(int i:arr)//用for-each循环遍历原数组,由于没有赋值初始值为默认值0 System.out.print(i+" "); System.out.println(" "); arr=kuorong(arr); for(int j:arr) System.out.print(j+" "); } public static int[] kuorong(int[] arr) { int l = (int)(arr.length * 1.5); int[] arr1 = new int[l]; for (int i = 0; i < arr.length; i++) { arr1[i] = arr[i]; } return arr1; }
2.下面是对代码的解释
public static void main(String[] args) {
int[] arr = new int[10]; // 创建一个长度为10的整数数组
for(int i:arr)//用for-each循环遍历原数组,由于没有赋值初始值为默认值0 System.out.print(i+" ");//打印原来的arr数组
System.out.println(" ");
arr = kuorong(arr); // 调用kuorong方法并尝试更新arr
for(int j:arr)//
System.out.print(j+" ");
}
public static int[] kuorong(int[] arr) {
int l = (int)(arr.length * 1.5); // 计算新数组的长度为原数组长度的1.5倍
int[] arr1 = new int[l]; // 创建一个新数组,长度为l
for (int i = 0; i < arr.length; i++) {
arr1[i] = arr[i]; // 尝试将原数组的元素复制到新数组
}
return arr1; // 返回新数组
}
3.效果图
由于没有赋值几个0则表示数组的长度为几。