1. 5.3 ArrayListhistorical

    1. 是什么 底层由数组实现的,可扩容的顺序表 有序、可以重复 2. 如何使用 3. 原理分析 3.1. uml 可以看出ArrayList是个List、可克隆、可序列化、可以使用下标访问 3.2. 构造方法 使用object数组,并且初始化长度为0 3.3. add方法 - 不扩容O(1),扩容O

  2. 5.10 LinkedListhistorical

    1. 是什么 底层由双向链表实现的顺序表 有序、可以重复 2. 如何使用 3. 原理分析 3.1. uml 可以看出LinkedList是个List、双端队列、可序列化、可克隆 3.2. 构造方法 由头节点、尾节点、长度构成 3.2.1. 队列的节点Node 结构如下图: 3.3. add方法 -

  3. 5.15 List与Array的转换historical

    1. Array转List 2. List转Array

  4. 5.19 List对比historical

    1. ArrayList vs LinkedList ArrayList LinkedList ----------- ---------------------------------------------------- -------------------- 底层实现 数组 双向链表 复杂度

  5. 5.23 SynchronizedListhistorical

    1. 是什么 线程安全的list 2. 如何使用 3. 源码分析 3.1. synchronizedList方法 3.1.1. 调用SynchronizedList的构造方法 3.1.2. 初始化锁对象为当前正在构造的list 3.2. 其他方法 3.2.1. 使用synchronized代码块加锁

  6. 5.25 Vectorhistorical

    1. 是什么 线程安全的list 2. 如何使用 3. 源码分析 3.1. uml 可以看出是个List,可以克隆,可以序列化,可以使用下标访问 3.2. 构造方法 默认初始化长度为10,扩容时候的增量为两倍 3.3. add方法 不扩容的时候O(1),扩容O(N) 3.3.1. 加了synchro

  7. 5.26 fail-fasthistorical

    1. fail-fast与fail-safe fail-fast:如果一个系统,当有异常或者错误发生时就立即中断执行,这种设计称之为fail-fast fail-safe:如果一个系统,可以在某种异常或者错误发生时继续执行,不会被中断,这种设计称之为fail-safe 2. Java迭代器的设计 f