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