List三个子类的特点
-
ArrayList:
底层数据结构是数组,查询快,增删慢,线程不安全,效率高 -
Vector:
底层数据结构是数组,查询快,增删慢,线程安全,效率低 -
LinkedList:
底层数据结构是链表,查询慢,增删快,线程不安全,效率高。
三个子类的比较
- Vector和ArrayList的区别:
1)Vector是线程安全的,效率低
2)ArrayList是线程不安全的,效率高 - ArrayList和LinkedList的区别
1)ArrayList底层是数组结构,查询和修改快,增删慢
2)LinkedList底层是链表结构,增删快,查询和修改慢
3)共同点,两者都是线程不安全的
三个子类什么时候使用呢?
- 查询多,用ArrayList
- 增删多,用LinkedList
- 如果都多,用ArrayList(后面有方法把ArrayList变成线程安全的,所以Vector完全被替代掉了)