私は作業をしていて、すべての準備ができているレコードの事前入力の開始時ArrayList
に追加しようとしていました。new object
ArrayList
ArrayList
3000000
私の知る限り、最初のインデックスに新しいオブジェクトを追加し、下のすべてのレコードを以前の位置に移動します。そして、これは、その配列リストに新しいオブジェクトを追加するたびに発生するはずです。実行時間は同じであることを意味します (わずかな変動が発生する可能性があります)。
しかし、新しいレコードを追加すると、0と15が表示されます。
これが私のプログラムです
package com.rais;
import java.util.ArrayList;
import java.util.List;
public class ArrayListTest {
public static List<String> arrList = new ArrayList<String>();
static {
for (int i = 0; i < 3000000; i++) {
arrList.add("Hello"+i);
}
}
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
long startTime = System.currentTimeMillis();
arrList.add(0,"Rais"+i);
long endTime = System.currentTimeMillis();
System.out.println("Total execution time ="+(endTime-startTime));
}
}
}
そして、これがそのプログラムの出力です。
Total execution time =0
Total execution time =0
Total execution time =15
Total execution time =0
Total execution time =0
0 と表示される理由がわかりません。毎回 15 または 15 に少し近い値が表示されるはずですが、0 は表示されません。