学习笔记,仅供参考
集合
List的三个子类的特点
- ArrayList
- 底层数据结构是数组,查询快,增删慢。
- 线程不安全,效率高。
- Vector
- 底层数据结构是数组,查询快,增删慢。
- 线程安全,效率低。
- Vector相对ArrayList查询慢(线程安全的)
- Vector相对LinkedList增删慢(数组结构的性质)
- LinkedList
- 底层数据结构是链表,查询慢,增删快。
- 线程不安全,效率高。
-
Vector和ArrayList的区别
- Vector是线程安全的,效率低
- ArrayList是线程不安全的,效率高
- 共同点:都是数组实现的
-
ArrayList和LinkedList的区别
- ArrayList底层是数组结构,查询和修改快
- LinkedList底层是链表结构,增和删比较快,查询和修改比较慢
- 共同点:都是线程不安全的
- List的三个子类的选取
- 查询多用ArrayList
- 增删多用LinkedList
- 如果既有查询又有增删,则用ArrayList
数组和链表
- 数组
- 查询快,修改也快,增删慢;
- 链表
- 查询慢,修改也慢,增删快。