手写Java中ArrayList类(初级版本)

渡星河
2022-11-16 / 0 评论 / 25 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2022年11月16日,已超过673天没有更新,若内容或图片失效,请留言反馈。

开始写文章之前,我们先了解一下什么是ArrayList

我们写的功能就是这样的,下面我们看看代码的实现

public class Testarrlist {
    public static void main(String[] args) {
        //创建对象
       ArrayList arry = new ArrayList();
       //使用对象中的add方法
       arry.add(20);
       arry.add(800);
       arry.add(900);
       arry.add(800);
       arry.bli();
    }
}

public class ArrayList {
    //初始数组值(使用static来修饰是因为我们这个是在外部创建的没在方法内)
    static int chu = 3;
    //创建数组
    static int[] arr = new int[chu];
    //用于计算放了多少个值进去
    static int sum = 0; 
    //开始写带参数的方法
    public static void add(int a) {
        
        //如果数组无法再次添加更多的元素,那就创建一个新的数组
        if(sum == arr.length){
            //创建一个数组长度是原来的两倍
            int[] tmp = new int[arr.length*2];
            //需要把原来数组的内容给拿到tmp里面
            for(int i =0;i<sum;i++){
                tmp[i]=arr[i];
            }
            //因为下方打印出来的是arr数组的内容,所以我们这边要让tmp=arr
            arr=tmp;
        }
        //把传入的值赋值给数组元素
        arr[sum]=a;
        //累计当前数组中的元素有多少
        sum++;
    }
    //创建一个遍历数组的方法
    public static void bli(){
        System.out.print("{");
        for(int i = 0;i<sum;i++){
            System.out.print(arr[i] +" ");
        }
        System.out.print("}");
    }
}

运行结果

2

评论 (0)

取消