かなり単純なコードで奇妙な結果が得られます。 、LinkedListとJavaのArrayListとのオーバーフローの実行時間
今List<Integer> arrayList = new ArrayList<Integer>(6200000);
List<Integer> linkedList = new LinkedList<Integer>();
for (int i = 0; i < 6200000; i++)
{
arrayList.add(i);
}
long startTime = System.currentTimeMillis();
for (int i = 0; i < 6200000; i++)
{
linkedList.add(i);
}
System.out.println(System.currentTimeMillis() - startTime);
ここで問題です::ここ は、問題のコードです サイズはArrayListのCTORの引数として与えられた場合、 「新しいArrayListを(620万)」のようには、印刷された値がされます "new ArrayList()"のように、ArrayList CTORにサイズが指定されていない場合、印刷される値は1000または1000を超えるビットです。 複数の実行では異なる値が与えられますが、私の指摘は、記述された2つのシナリオの間には大きな違いがあり、私はちょうど理由を立てる。 ArrayListの構築方法は、LinkedListに関連するコードにどのように影響しますか? 誰か手掛かりがありますか?
ありがとうございます!
悪いベンチマークを作成すると、混乱する結果を招くことがあります。 – Kayaman