ArrayList、LinkedList与Vector算是在面试用比较常见的知识点了。
ArrayList继承AbstractList抽象父类,实现了List接口(可以进行list操作)、RandomAccess(可随机访问)、Cloneable(可拷贝)、Serializable(可序列化)
LinkedList实现了List接口(可以进行list操作)、Deque接口(能够当做双向端队列使用)、Cloneable(可拷贝)、Serializable(可序列化)
Vector 是矢量队列,它是JDK1.0版本添加的类。继承于AbstractList,实现了List, RandomAccess, Cloneable这些接口
Vector初始化length是10,每次扩容时候增加原先容量的一倍,也就是变成原来的2倍
总的来说:查询多用ArrayList,增删多用LinkedList,多线程使用Vector
ArrayList增删慢不是绝对的,尾部增删是ArrayList快,如果删除的是中间位置的话,还是ArrayList要快。
参考链接:
ArrayList、LinkedList与Vector的区别
原文:https://www.cnblogs.com/shaoyu/p/12035153.html