List(接口)顺序是List最重要的特性;它可以保证元素是按照规定的顺序进行排列的,List为Collection添加了大量方法,以便我们在List中部插入或者删除(只推荐对LinkedList这样做)。List也会生成一个ListIterator(列表反复器),利用它可在一个列表里朝着两个方向遍历,同时插入和删除位于列表中部的元素(同样的只推荐在LinkedList这样做)。
ArrayList由一个数组后推得到的List。作为一个常规用途的对象容器使用,用于替换原先的Vector。允许我们快速访问元素,但是从列表中插入和删除元素时,速度却很慢,一般只应该用Listiterator对一个ArrayList进行访向前和向后遍历,不要用它删除和插入元素;与LinkedList相比,它的效率要低很多。
LinkedList提供优化的顺序访问性能,同时可以高效率的在列表中进行插入和删除操作。但在进行随机访问时,速度却很慢,此时应该换成ArrayList。也提供了addFirst(),addLast(),getFirst(),getLast(),removeFirst(),removeLast()(未在任何接口或基础类中定义),以便将其作为一个规格,队列以及双向队列使用。