参考文献:《Java疯狂讲义》(第三版)
List集合类
List集合代表一个元素有序,重复的集合,集合中每个元素都有其对应的顺序索引。
ArrayList和Vector是List类的两个典型实现。
ArrayList和Vector类都是基于数组实现的List类。所以ArrayList和Vector类封装了一个动态的允许再分配的Object[]数组。
两者的显著区别:
ArrayList线程是不安全的,当多个线程访问同一个ArrayList集合时,如果有超过一个线程修改了ArrayList集合,则程序必须手动保证该集合的同步性;
但Vector集合则是线程安全的,无须程序保证该集合的同步性。因为Vector是线程安全的,所以Vector的性能比ArrayList 性能要低。
不推荐使用Vector
Vector提供一个子类Stack,它用于模拟栈这种数据结构。
故不推荐使用。
ArrayDeque也是List的实现类,ArrayDeque既实现了List接口,也实现了Deque接口,由于实现了Deque接口,因此可以作为栈来使用,而且ArrayDeque底层也是基于数组的实现,因此性能也很好。