java优化小case:
1.LinkedList 和 ArrayList
public class Test {
public static void main(String[] args) throws InterruptedException {
Date date = new Date();
List<Integer> res = new ArrayList<>(1000000);
for (int i = 0; i < 1000000; i++) {
res.add(0, i);
}
Date end = new Date();
System.out.println(end.getTime() - date.getTime());
}
}
List类型\操作 | add() | add(0,i) | get(100000) |
---|---|---|---|
初始了容量(100000)的ArrayList | 7ms | 2156ms | 6ms |
没有初始(100000)的ArrayList | 8ms | 2000ms | 6ms |
LinkedList | 8ms | 9ms | 8092ms |
如果是1000000呢
LinkedList add很快150ms
ArrayList add(index,val)很慢214421ms
而在末尾操作没有区别