ArrayList是Collection接口的一部分。
ArrayList是List接口的实现类(即List是Collection接口的子接口,这意味着ArrayList间接是Collection接口的子类)。
ArrayList引入了三个构造函数:
ArrayList al = new ArrayList()
;
ArrayList al = new ArrayList(Collection c);
ArrayList al = new ArrayList(int capacity);
ArrayList构造函数的工作是:
默认大小(内存位置为10块)。
定义的集合对象大小。
由用户定义。
如果我们经常进行检索操作,则建议使用ArrayList。
ArrayList的底层数据结构是array(可调整大小的数组)。
不建议在频繁操作插入或删除的地方使用ArrayList。
ArrayList实现RandomAcess接口(这就是为什么进行检索操作的最佳选择)的原因。
LinkedList是Collection接口的一部分。
LinkedList是List接口的实现类(即List是Collection接口的子接口,这意味着LinkedList间接是Collection接口的子类)。
LinkedList引入了两个构造函数:
LinkedList ll = new LinkedList();
LinkedList ll = new LinkedList(Collection c);
LinkedList构造函数的工作是:
默认大小。
定义的集合对象大小。
如果我们的常用操作是插入或删除(在中间或从中间),则建议使用LinkedList。
LinkedList的基础数据结构是“双重链接列表”。
不建议在需要频繁操作的情况下使用LinkedList。
LinkedList没有实现RandomAcess接口(这就是为什么检索操作最差的选择)。