黑马程序员技术交流社区

标题: [石家庄校区]关于Java泛型的一点小练习 [打印本页]

作者: 初音初音初    时间: 2018-11-14 16:11
标题: [石家庄校区]关于Java泛型的一点小练习
本帖最后由 初音初音初 于 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) +
                '}';
    }
}

作者: ztxtxwd    时间: 2018-11-14 22:58
让内部更简洁了一些
[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;
    }
}







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2