セルオートマトンのようなプログラムの場合、リストのようなオブジェクトに対して可能な限り短い時間(ミリ秒単位)で100,000〜1,000,000のランダムアクセス読み取りを行う必要があるプログラムがあります。私が使用している更新アルゴリズムはすでに最適化されていると思います(アクティブなセルを効率的に追跡するなど)。リストはサイズを変更する必要がありますが、そのパフォーマンスはそれほど重要ではありません。したがって、ArrayListsの代わりにArraysを使用した場合のパフォーマンスが、このような短い時間で多くの読み取りを処理するときに違いを生むのに十分かどうか疑問に思っています。現在、ArrayListsを使用しています。
編集:言及するのを忘れました:私は整数を格納しているだけなので、別の要因は、整数ラッパークラス(ArrayListsの場合)とints(配列の場合)を使用することです。ArrayListを使用するのに実際に3つのポインタールックアップ(1つはArrayList、1つは基になる配列、もう1つはInteger-> int)が必要かどうかは誰にもわかりませんが、配列には1つしか必要ありません(配列アドレス+特定のオフセット) int)?HotSpotは余分なルックアップを最適化しますか?それらの余分なルックアップはどれほど重要ですか?
Edit2:また、ランダムアクセス書き込み(挿入ではなく書き込み)も実行する必要があることを忘れました。