ArrayList 、LinkedList 、Vector最大的区别是底层数据结构不一样。
为什么特征比较费劲?因为对数据结构理解不到位。
ArrayList底层是线性表(数组)
LinkedList底层是链表
以上两个都是不同步的,Vector是线性表,同步,被淘汰。
所以现在要区分的只是ArrayList与LinkedList
其实就是在区分 线性表和链表
线性表:物理地址连续逻辑地址也连续,查找快,增删慢。
链表:物理地址连续逻辑地址未必连续,查找慢,增删快。
所以你需要定义的结构
查找动作做的多,用线性表,即ArrayList
增删动作做的多,用链表,即LinkedList
后:做计算机的,数据结构相当于“内功”,所有实现的方法、框架的选择属于“招式”。
没有内功,招式再花哨也是吓唬人,不算真功夫。
好好学习数据结构在编程中是太重要的步骤。
|