Randomizing Two Parallel ArrayLists Synchronously
In programming, it is often necessary to maintain multiple lists that correspond to one another. For instance, a list of filenames and a corresponding list of images may be interconnected, such that the first filename corresponds to the first image and so on.
The question arises: how can we randomize the order of these parallel lists in such a way that their elements remain aligned? In other words, if we rearrange the filenames, we want the corresponding images to be rearranged in exactly the same manner.
The solution is to utilize the Collections.shuffle() utility. However, to ensure synchronous randomization, we must employ two Random objects initialized with the same seed:
<code class="java">long seed = System.nanoTime(); Collections.shuffle(fileList, new Random(seed)); Collections.shuffle(imgList, new Random(seed));</code>
By using two Random objects with the same seed, we guarantee that both lists will be shuffled in an identical fashion. This approach effectively synchronizes the randomization of the parallel collections, such that they maintain their corresponding elements.
The above is the detailed content of How to Randomize Two Parallel ArrayLists Synchronously?. For more information, please follow other related articles on the PHP Chinese website!