n 要素 (最大 100,000) の大きなリストを作成する必要があります。リスト内の各要素は、リストのインデックスに相当する整数です。この後、このリストで Collections.shuffle を呼び出す必要があります。私の質問は、どのリスト実装 (Java コレクションまたは Apache コレクション) を使用する必要があるかということです。私の直感では、ここで ArrayList を十分に使用できます。すべての考えに感謝します。ありがとう!
入力していただきありがとうございます。私はArrayListに固執していると思います。現在、initialCapacity パラメータを指定して ArrayList コンストラクタを使用しており、リストのサイズを渡しています。したがって、元のリストが 100000 の場合、この新しいリストを new ArrayList(100000) で作成します。したがって、サイズ変更がないため、配列を作成してasListを実行する必要はないと思います。また、GrowthList や LazyList などのほとんどの Apache コレクション リストは、RandomAccess を実装していません。これは確かにシャッフルを遅くします(javadocsによる)。FastArrayList は RandomAccess を実装しますが、Apache にはこのクラスに関する「このクラスはクロスプラットフォームではありません。使用すると、一部のアーキテクチャで予期しないエラーが発生する可能性があります」というメモがあります。