|
|
简介
- ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长。
- ArrayList非线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的CopyOnWriteArrayList类。
- ArrayList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了RandomAccess接口,支持快速随机访问,实际上就是通过下标序号进行快速访问,实现了Cloneable接口,能被克隆。
源码解析
属性
|
|
构造方法
|
|
方法
trimToSize
|
|
ensureCapacity
|
|
grow
扩容为原来的 1.5倍。
indexOf
|
|
lastIndexOf
|
|
add
|
|
remove
|
|
clear
|
|
clone
|
|
toArray
|
|
addAll
|
|
序列化
|
|
迭代器
|
|
subList
|
|
感谢:
http://blog.csdn.net/ns_code/article/details/35568011
http://blog.csdn.net/anxpp/article/details/51202290