java集合框架精简笔记之ArrayList

java集合框架精简笔记之ArrayList

一、ArrayList类和Vector类基本相同,底层都是数组。

不同点在于:

1.ArrayList的方法没有加sychronized修饰,也就是说当使用多线程时会出现不安全的问题。

而Vector 我们知道里面的方法是有synchronized修饰的。然而,在多线程编程当中,我们也会使用ArrayList

因为官方给了我们集合的工具类中有一个方法;

java集合框架精简笔记之ArrayList

直接使用:放入一个list 集合返回一个新的list集合。

public static <T> List<T> synchronizedList(List<T> list)


2.在java1.7之前,在新建一个ArrayList对象时,在使用无参构造器时:List ls=new ArrayList();
底层会自动创建一个大小为10的object数组。这也就和Vector一样。但是在java1.7之后,调用无
参构造器时,不会创建,而是在添加数据时创建,提高了性能。