牛骨文教育服务平台(让学习变的简单)
博文笔记

数组自增

创建时间:2017-01-21 投稿人: 浏览次数:577

众所周知,java里的数组长度是不可变,但List的集合是基于数组的,怎么让数组可变,我在泛型的基础上写了数组的增,删,查,改

这里写代码片
publlic class MyList<T>{
    int size;
    Object[] arr = new Object[size]; 
    //增
    public void add(T sum){
        Object []arr_new = new Object[size+1];
        for(int i=0;i<size;i++){
            //将arr的元素Copy到arr_new
            arr_new[i]=arr[i];
        }
            arr_new[size]=sum;
            size++;
            arr=arr_new;
    }
    //删
    public void remove(int index){
        Object[] arr_new = new Object[size-1];
        for(int i=0;i<index;i++){
            arr_new[i] = arr[i];
        }
        for(int i=index+1;i<size;i++){
            arr_new[i-1] = arr[i];
        }
        arr=arr_new;
        size--;
    }
    //查
    public Object get(int index){
        return arr[index];
    }
    //插入
    public void insert(int index,T sum){
        Object[] arr_new = Object[size+1];
        for(int i=0;i<index;i++){
            arr_new[i] = arr[i];
        }
        arr_new[index] = sum;
        for(int i=index+1;i<size+1;i++){
            arr_new[i]=arr[i-1];
        }
            arr=arr_new;
            size++;
    }
    //改
    public void upDate(int index,T sum){
        arr[index]=sum;
    }
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。