ホームページ  >  記事  >  Java  >  2 つの並列 ArrayList を同期的にランダム化するにはどうすればよいですか?

2 つの並列 ArrayList を同期的にランダム化するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-27 18:06:02443ブラウズ

How to Randomize Two Parallel ArrayLists Synchronously?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。