本文共 643 字,大约阅读时间需要 2 分钟。
一、Collection接口
(1)Collection是集合的顶级接口。Collections是Collection的包装器。是在 collection 上进行操作或返回 collection 的静态方法组成。
(2)List Set Queue接口的父类是Collection
二、ArrayList
- ArrayList特点:底层使用的是数组结构。
- 增删效率低 查询效率高 线程不安全的异步集合
- ArrayList内存是连续的。
- ArrayList默认初始容量为10
- ArrayList的有参构造可以指定初始容量。
- ArrayList 1.8 扩容:原来的长度+ 原来的长度的一半
三、LinkedList
- 链表不需要初始容量,链表中的每一个元素称之为结点。链表中包含头结点和尾结点。
- 每一个结点中包含数据、上一个结点地址和下一个结点的地址。头结点的prev是null,尾结点的next是null。这种链表称之为双向链表。
- 链表的内存是不连续的。
- 链表查询效率低、增删效率高,是一个线程不安全的集合。
例题1:如果在某一个场景下,查询和增删的效率差不多。那么优先选择ArrayList还是LinkedList?
应该选择LinkedList,因为它内存不连续
四、Vector
- Vector底层使用数组结构。
- 查询效率高、增删效率低,线程安全的集合
- Vector默认初始容量为10,向量增量为0.
- 默认每次扩容是原来容量的一倍。如果向量增量不为0,那么每次扩容是原来容量+向量增量。
转载地址:http://nddlf.baihongyu.com/