Java中ArrayList集合,JavaArrayList集合
分享于 点击 23299 次 点评:211
Java中ArrayList集合,JavaArrayList集合
一、ArrayList介绍
1.ArrayList继承关系
2.定义
public class ArrayList<E>
extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, Serializable
3.简介
1. ArrayList是一个可变数组,与Java中数组相比,它的容量是动态增长的,它继承自AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口。
2. ArrayList继承AbstractList,实现了List,提供了对集合元素进行增、删、改、查等操作的方法。
3. ArrayList 实现了RandmoAccess接口,即提供了随机访问功能。
4. ArrayList 实现了Cloneable接口,即覆盖了函数clone(),能被克隆。
5. ArrayList 实现java.io.Serializable接口,即ArrayList支持序列化,能通过序列化去传输。
6. 与Vector的不同之处在于,ArrayList的相关操作不是同步的,也就是说ArrayList的相关操作是线程不安全的,建议在单线程中使用。
二、ArrayList构造方法
三、ArrayList中的方法
四、ArrayList数据结构
ArrayList中包含两个重要变量
1.elementData
elementData是ArrayList中存储数据的Object[],它保存添加到ArrayList中的元素,elementData实现了一个动态数组,我们可以用构造函数ArrayList(int initialCapacity)创建ArrayList对象并指定容量为initialCapacity,如果用构造函数ArrayList()创建ArrayList对象,默认的容量为10;
2.size
1. size是ArrayList的实际容量;
2. 由于ArrayList实现的是动态数组的效果,所以数组的容量是可以动态增长的,每次添加元素的时候都会判断添加后的容量是否超出现有容量,如果超出现有容量则容量会进行自动增长,在不同版本的JDK中具体增长方式也有所不同,例如在JDK1.8中,具体增长方式:新的容量=原容量+(原容量>>1);
五、ArrayList遍历方式
1.迭代器遍历
List<String> list=new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
Iterator<String> it=list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
2.随机访问遍历
List<String> list=new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
for(int i=0;i<list.size();i++){
System.err.println(list.get(i));
}
3.for-each循环遍历
List<String> list=new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
for (String string : list) {
System.out.println(string);
}
相关文章
- 暂无相关文章
用户点评