美文网首页
2018-10-02容器、尝试写ArrayList-数组扩容、r

2018-10-02容器、尝试写ArrayList-数组扩容、r

作者: 消失的七月 | 来源:发表于2018-10-09 14:39 被阅读0次

    1.

    .Collection接口: Collection表示一组对象,他是集中收集的意思,就是把一组数据收集起来

    Collection接口的两个子接口Set,List:

        -Set中的数据没有顺序,不可以重复。

        -List中的数据有顺序,可以重复。

    Map 接口定义了存储“键<key> - 值<value>”

    2.自写的ArraListy数组扩容add

    public void add(Object o) {

    //数组扩容

    if(size >= element.length) {

        Object newArray = new Object[size*2];

            System.arraycopy(element, 0, newArray, 0, size);

        element = newArray;

        }

        element[size] = o;

        size++;

        }

    }

    ArrayList,LinkedList,Vector

    ArrayList:底层实现是数组。线程不安全,效率高。所以查询快,修改、删除慢;

    LinkedList:底层实现是链表。线程不安全,效率高。所以查询慢。修改、插入删除快;

    Vector:线程安全的,效率低

    ArrayList的remove:

    public void remove(int index){

    //删除指定位置对象

    //a b d e

    int numMoved = size - index - 1;

    if(numMoved > 0){

        System.arraycopy(elementDate, index+1, elementDate, index, numMoved);

    }

        elementDate[--size] = null;

    }

    相关文章

      网友评论

          本文标题:2018-10-02容器、尝试写ArrayList-数组扩容、r

          本文链接:https://www.haomeiwen.com/subject/bcwwoftx.html