arrylistとlinkedlistの速度を比較するために追加
1217 ワード
package cn.ehoo.test;
import java.util.*;
public class ListDemo {
static final int N = 50000;
static long timeList(List<Object> list) {
long start = System.currentTimeMillis();
Object o = new Object();
for (int i = 0; i < N; i++)
list.add(0, o);
return System.currentTimeMillis() - start;
}
public static void main(String[] args) {
System.out.println("ArrayList :" + timeList(new ArrayList()));
System.out.println("LinkedList :" + timeList(new LinkedList()));
}
}
出力結果:ArrayList消費時間:953 LinkedList消費時間:0上記のプログラムでlist.addの場合は前の0ではなくlistを直接使う.add(o);そうすると得られる値が違います.テストでは、linkedlistはArraylistよりも時間がかかります.しかし、あまり差はありません.リストでlistを使うadd(0,"whp");このようにlistに値を加えると、listはインデックスを上へ押すつまりlist.add(0,"whp");list.add(0,"whp1");list.add(0,"whp2");このようなコードの実行が完了するとlist.get(0)で得られた値はwhp 2である.list.get(1)で得られた値はwhp 1である.list.get(2)で得られた値はwhpである.リストに直接ならadd("whp");list.add("whp1");list.add("whp2");ではlist.get(0)で得られた値はwhpである.list.get(1)で得られた値はwhp 1である.list.get(2)で得られた値はwhp 2である.安全に保管されています