A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 初音初音初 于 2018-11-14 16:56 编辑

自从学习了泛型以后,就想自己制作一个ArrayList类,源码如下,目前仅可添加以及元素,没有添加其他方法
[Java] 纯文本查看 复制代码
public class Test <A>{
    private int a=1;
    private Object[] temp=new Object[a];
    public void add(A att){
        if (temp[0]!=null){
            a++;
            Object[] arr = new Object[a];
            System.arraycopy(temp,0,arr,0,a-1);
            arr[a-1]=att;
            temp=new Object[a];
            System.arraycopy(arr,0,temp,0,a);
        } else {
            Object[] arr = new Object[a];
            arr[a-1]=att;
            temp=new Object[a];
            System.arraycopy(arr,0,temp,0,a);
        }


    };

    public Object getTemp(int b) {
        return temp;
    }

    @Override
    public String toString() {
        return "Test{" +
                "temp=" + Arrays.toString(temp) +
                '}';
    }
}

1 个回复

正序浏览
让内部更简洁了一些
[Java] 纯文本查看 复制代码
public class MyArrayList <A>{
    private Object[] arr;

    public void add(A a){
        Object[] newArr;
        if (arr==null){
            newArr=new Object[1];
            newArr[0]=a;
        }else{
            newArr=new Object[arr.length+1];
            System.arraycopy(arr,0,newArr,0,arr.length);
            newArr[arr.length]=a;
        }

        arr=newArr;
    }
}


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马