JDK8源码阅读笔记--------java.util.ArrayList

官方文档:

该类实现list接口,属于collections,是一个动态数组,可以存放任何元素包括null,初始容量为10,添加元素时候容量可以自动增长。该类不是同步的,也就是说不是线程安全的。如果多个线程同时方位一个实例,并且其中一个修改了列表,那么必须在外在同步。我们可以包装列表如:

List list = Collections.synchronizedList(new ArrayList(...));

1.public ArrayList(int initialCapacity):构建一个空集合指定容量

public ArrayList():构建一个空集合,默认容量为10。

2.public ArrayList(Collection<? extends E> c)

3.实现List接口的方法size()、add(e)等

1.LinkedList插入比ArrayList慢,但是查询快;

2如果该ArrayList的长度巨大,并且不确定,只用于容器临时使用,建议使用LinkedList进行接收参数,然后再转化为ArrayList,如:

LinkedList list = new LinkedList();

//some operations

ArrayList listArr = new ArrayList(list);

3.他两都是非同步的。

猜你喜欢

转载自blog.csdn.net/weixin_39035120/article/details/84586980