1、Collection是一个接口,有2个子接口,分别是List和Set,List具有有序可重复特性,Set具有无序不可重复特性List有3个实现类--Vector--ArrayList--LinkedList
2、区别: 1.Vector底层基于Object数组,线程安全,基于synchronized来保证线程安全的,初始化容量为10, 扩容后容量为当前容量的2倍,可以指定扩容增量,如:Vector vector = new Vector(10,25); 那么储存元素大于10时,会发生扩容,扩容后容量为35,即10+25 2.ArrayList底层基于Object数组,线程不安全,jdk1.6及jdk1.6以下版本初始化容量为10, 扩容后容量为当前容量的1.5倍加1,jdk1.7初始化容量为0,扩容后容量为当前容量的1.5倍 3.LinkedList底层基于双向循环链表,双向循环链表指链表中任意一个节点,具有指向上一个节点与下一个节点的属性, 最后一个节点的next指向第一个节点的previous,初始化容量为0,不会发生扩容,实现了队列接口
3、性能分析:1.Vector比ArrayList性能低,因为Vector线程安全
4、这只是一种理论的总结,当然了,如果能够在面试的时候快速的说出来,我相信集合的有关问题是可以解决的。