ArrayList
基于数组方式实现,无容量限制在插入元素时可能需要扩容;在删除元素时并不会减小数组的容量(如希望相应的缩小数组的容量,可以调用ArrayList的trimToSize()方法);在查找元素时要遍历数组,对于非null的元素采用equals的方式寻找非线程安全
LinkedList
基于双向链表机制实现在插入元素时,需创建一个新的Entry对象,并切换相应元素的前后元素的引用;在查找元素时,需遍历链表;在删除元素时,要遍历链表,找到要删除的元素,然后从链表上将此元素删除即可非线程安全
Vector
基于Synchronized实现的线程安全的ArrayList,但在插入元素时容量扩充的机制和ArrayList不通,并可通过传入capacityIncrement来控制容量的扩充线程安全
Stack
基于Vetcor实现,支持LIFO线程安全
HashSet
基于HashMap实现,无容量限制非线程安全
TreeSet
基于TreeMap实现,支持排序非线程安全
HashMap
采用数组方式存储key、value构成的Entry对象,无容量限制基于key hash寻找Entry对象存放到数组的位置,对于hash冲突采用链表的方式解决在插入元素时可能要扩大数组的容量,在扩大容量时必须要重新计算hash,并赋值对象到新的数组中非线程安全
TreeMap
基于红黑树实现,无容量限制非线程安全