ArrayList && LinkedList

ArrayList

底层 Object 数组

空参构造默认数组为空数组

在添加元素时,确认扩容后数组长度的最小容量值。如果数组是空数组,当最小容量值小于默认容量10时,取默认容量作为最小容量值

扩容时计算旧容量加上旧容量一半的大小,是否大于最小容量值。

如果小于,取最小容量值作为新数组长度

增删改查就是对数组的操作,所以增删慢,查询快

LinkedList

双向链表结构

private static class Node<E> {
    E item; 
    Node<E> next; 
    Node<E> prev; 
    ...
}
public class LinkedList<E> {
    // 实际元素个数
    transient int size = 0;
    // 头结点
    transient Node<E> first;
    // 尾结点
    transient Node<E> last;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容