はじめに
この質問は、2 つの ArrayList に次のものが含まれる一般的なシナリオに取り組みます。関連する要素ですが、一方のリストをランダム化すると、もう一方のリストも自動的に同じ順序でランダム化されます。解決策を理解するには、問題を詳しく掘り下げ、並列ランダム化の基礎となる概念を調べることが重要です。
問題を理解する
2 つの ArrayList、fileList と imgList が与えられたとします。関連する要素 (例: テキスト ファイルとそれに対応する画像) を表す場合、そのタスクは fileList をランダム化し、それによって同じ方法で imgList を自動的にランダム化することです。これにより、シャッフル後も関連要素のペアが維持されます。
ソリューション
次のコードは、2 つの Random オブジェクトが初期化された Collections.shuffle() メソッドを使用した効果的なソリューションを示しています。同じシードを持つ:
<code class="java">long seed = System.nanoTime(); Collections.shuffle(fileList, new Random(seed)); Collections.shuffle(imgList, new Random(seed));</code>
説明
出力
提供されたサンプル入力の場合、ランダム化後の出力は次のようになります:
imgList 内の要素の順序が fileList のランダム化された順序を反映し、関連する要素が効果的にペアになっていることに注目してください。
以上が順序を維持しながら、相関する要素を含む 2 つの ArrayList をランダム化するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。