入理解ArrayList与LinkedList的区别
ArrayList与LinkedList都是List接口的实现类,只是实现的方式有所不同,而List接口继承了Collection接口,Collection接口又继承了Iterable接口,因此可以看出List同时拥有了Collection与Iterable接口的特性。
一、理解ArrayList
ArrayList实现了List接口,它是以数组的方式来实现的,数组的特性是可以使用索引的方式来快速定位对象的位置,
因此对于快速的随机取得对象的需求,使用ArrayList实现执行效率上会比较好.
列举循环List列表有三种方式: 使用普通for循环,用get方法获取; 使用Iterator迭代器,使用next方法遍历;使用增强for循环,直接输出,由此可见第三种方法是最方便,最简洁的。
二、理解LinkList
LinkedList是采用链表的方式来实现List接口的,它本身有自己特定的方法,如: addFirst(),addLast(),getFirst(),removeFirst()等. 由于是采用链表实现的,因此在进行insert和remove动作时在效率上要比ArrayList要好得多,适合用来实现Stack(堆栈)与Queue(队列),前者先进后出,后者是先进先出。