ArrayList类相当于数据结构中的线性表,他在底层使用数组来存储数据,因此适合快速获得指定位置的元素,
但是,在删除元素时,例如删除第一个元素,则后面的元素必须全部向前移动一位,显然开销很大,向第一个位
置增加元素时,两种效果类似。
LinkList类相当于数据结构中的链表,它在底层使用对象来保存元素,因此适合元素的增加和删除。但是,要
获得指定位置的元素时,需要从头开始遍历。在实际编程中,通常采用面向接口的编程方法,
如:List<Integer>list = new ArrayList<Integer>();此时如果需要从列表中删除元素,可以将实现类换成LinkedList,
例如:List= new LinkedList<Integer>();
Vetory类与ArrayList类在使用方式上比较类似,两者的核心区别在于Vector类中有些方法是支持同步的,
而ArrayList类中没有这样的方法,因此,Vetor类适合于需要线程安全的场合,而ArrayList更适合普通开发。由于支
持同步,Vetor的效率比ArrayList差。 |