ArrayList:
是java集合中的一种数据结构,继承List,实现了List的接口。底层是给予数组实现容量大小动态变化,其中还实现了序列化的接口Serializable接口。所以ArrayList支持快速访问、赋值、序列化的操作。ArrayList是通过数组去保存数据的,当构造ArrayList时,若是默认构造函数,则容量大小是10.当容量不足时,ArrayList会重新设置容量:新的容量 = 原始容量x3/2 +1 .ArrayList实现java.io.Serializable的方式。当写入到输出流时,先写入“容量”,再依次写入“每一个元素”;当读出输入流时,先读取“容量”,再依次读取“每一个元素”。
ArrayList的遍历源代码:
package 数据结构测试;
import java.util.ArrayList;
import java.util.Iterator;
public class Test_5 {
public static void main(String[] args) {
ArrayList list = new ArrayList();
for(int i = 0 ; i<10000000;i++) {
list.add(i);
}
INT(list);
For(list);
Foreach(list);
}
private static void Foreach(ArrayList list) {
long start;
long end ;
start = System.currentTimeMillis();
for(Object a :list) {
}
end = System.currentTimeMillis();
long c = end-start;
System.out.println("foreach循环遍历 "+c+"ms");
}
private static void For(ArrayList list) {
long start;
long end;
start = System.currentTimeMillis();
for(int i = 0 ; i
list.get(i);
}
end = System.currentTimeMillis();
long a = end - start;
System.out.println("for循环遍历"+a+"ms");
}
private static void INT(ArrayList list) {
long start;
long end ;
Iterator a = list.iterator();
start = System.currentTimeMillis();
while(a.hasNext()) {
a.next();
}
end = System.currentTimeMillis();
long c = end-start;
System.out.println("迭代器遍历"+c+"ms");
}
}
三种遍历,for循环最快。迭代器遍历和foreach速度相当。
ArrayList常用方法:
add(E e)
将指定的元素添加到此列表的尾部。
void add(int index, E element)
将指定的元素插入此列表中的指定位置。
clear()
移除此列表中的所有元素。
contains(Object o)
如果此列表中包含指定的元素,则返回 true。
get(int index)
返回此列表中指定位置上的元素。
indexOf(Object o)
返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。
isEmpty()
如果此列表中没有元素,则返回 true
remove(int index)
移除此列表中指定位置上的元素
set(int index, E element)
用指定的元素替代此列表中指定位置上的元素。
size()
返回此列表中的元素数
点赞
收藏
分享
文章举报
guangtouhenliang
发布了20 篇原创文章 · 获赞 1 · 访问量 195
私信
关注