关于ArrayList和LinkedList的插入,遍历,删除时间比照
以下是代码块:
package list;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class ListAdd {
public static void main(String[] args) {
testQuery();
}
static void testAdd() {
Object object = new Object();
List<Object> al = new ArrayList<>(); // 70ms
List<Object> ll = new LinkedList<>(); // 471ms
long b = System.currentTimeMillis();
for (int i = 0; i < 5000000; i++) {
al.add(object); // 添加到尾端
}
long e = System.currentTimeMillis();
System.out.println(e - b);
}
static void testAddIndex() {
Object object = new Object();
List<Object> al = new ArrayList<>(); // 1071ms
List<Object> ll = new LinkedList<>(); // 17ms
long b = System.currentTimeMillis();
for (int i = 0; i < 100000; i++) {
ll.add(0, object); // 添加到尾端
}
long e = System.currentTimeMillis();
System.out.println(e - b);
}
static void testQuery() {
List<String> l = new ArrayList<>();
for (int i = 0; i < 1000000; i++) {
l.add(String.valueOf(i));
}
long b = System.currentTimeMillis();
String temp = "";
for (int i = 0; i < l.size(); i++) {
temp = l.get(i);
}
long e = System.currentTimeMillis();
System.out.println(e - b);
}
}