java集合框架精简笔记之ArrayList

java集合框架精简笔记之ArrayList_第1张图片

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

不同点在于:

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

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

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

java集合框架精简笔记之ArrayList_第2张图片

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

public static  List synchronizedList(List list)


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


你可能感兴趣的:(java)