美文网首页
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

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

  • C++ 数据结构与算法

    C++ 容器与算法 vector 容器: 动态数组,可动态扩容,扩容时重新开辟原有长度2倍的长度,然后将原有的数据...

  • 集合容器:ArrayList 源码阅读

    集合容器:ArrayList 源码阅读 一、概述 ArrayList是一个可以支持动态扩容的数组,底层采用数组实现...

  • 常见集合容器的初始容量、加载因子、扩容倍数

    常见集合容器的初始容量、加载因子、扩容倍数 基于数组的集合,当数据元素的数目达到容量的上限时,容器会重新分配一段更...

  • JDK1.7 版本中 HashMap 扩容

    扩容扩容是指当容器中元素的数量达到某个阈值时,容器自己进行的容量翻倍的操作。 JDK1.7 HashMap 扩容方...

  • HashMap源码解析 (HashMap类-resize方法)

    扩容方法 resize( ) 扩容机制: 什么时候才需要扩容当 HashMap 中的元素个数超过数组大小(数组长度...

  • 切片Slice

    切片 slice的内存分析和扩容 超出容量之后扩容会改变切片底层引用的数组的地址,每次扩容成倍扩容 在已有数组上直...

  • 数组---20161118

    数组的扩容:

  • Collection集合

    概念:对象的容器,定义了对多个对象进行操作的常用方法。可实现数组的功能。 ArrayList扩容机制 当new一个...

  • Docker cgroup详解

    最近在测试容器垂直扩容功能,通过探测容器的CPU使用率来判断该容器是否超过预设阈值而需要扩容来增加CPU limi...

网友评论

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

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