学习数组,发现数组无法自动扩容,写一个让它能扩容的方法。

                     调用方法对数组进行扩容

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则表示数组的长度为几。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值