20170705 List类

参考文献:《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底层也是基于数组的实现,因此性能也很好。

你可能感兴趣的:(20170705 List类)