最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程....指定序列操作则性能不如ArrayList, 这也是其数据结构决定的.
add(E) / addLast(E)
?...Stack
经典的数据结构, 底层也是数组, 继承自Vector, 先进后出FILO, 默认new Stack()容量为10, 超出自动扩容.
push(E)
?
pop()
?...take()
当元素被取出后, 并没有对数组后面的元素位移, 而是更新takeIndex来指向下一个元素.
takeIndex是一个环形的增长, 当移动到队列尾部时, 会指向0, 再次循环.
1...LinkedHashMap
继承自HashMap, 底层额外维护了一个双向链表来维持数据有序.