2 つの並列 ArrayList を同期的にランダム化する
プログラミングでは、相互に対応する複数のリストを維持することが必要になることがよくあります。たとえば、ファイル名のリストと対応する画像のリストは、最初のファイル名が最初の画像に対応するなど、相互接続されている可能性があります。
問題は、これらの並列の順序をどのようにランダム化できるかということです。要素が整列したままになるような方法でリストを作成しますか?言い換えれば、ファイル名を再配置する場合、対応する画像もまったく同じ方法で再配置する必要があります。
解決策は、Collections.shuffle() ユーティリティを利用することです。ただし、同期ランダム化を確実に行うには、同じシードで初期化された 2 つの Random オブジェクトを使用する必要があります。
<code class="java">long seed = System.nanoTime(); Collections.shuffle(fileList, new Random(seed)); Collections.shuffle(imgList, new Random(seed));</code>
同じシードを持つ 2 つの Random オブジェクトを使用することで、両方のリストが同じ方法でシャッフルされることが保証されます。 。このアプローチでは、並列コレクションのランダム化が効果的に同期され、対応する要素が維持されます。
以上が2 つの並列 ArrayList を同期的にランダム化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。