d Collections.shuffle() メソッドについて少し質問があります。
場合:
シャッフルする必要がある2つのリストがあり、それらを1つのリストに結合/マージしてから、新しい完全なリストをシャッフルします。system.nanoTime() をシードとして使用して、Random クラスで shuffle メソッドを使用しました。
コードは次のようになります。
public List<PresentationArticle> shuffleUnionShuffleLists(List<PresentationArticle> list1, List<PresentationArticle> list2) {
shuffleList(list1);
shuffleList(list2);
List<PresentationArticle> resultList = //merge/union the two lists
shuffleList(resultList);
return resultList;
}
public void shuffleList(List<PresentationArticle> articleList) {
long seed = System.nanoTime();
Collections.shuffle(articleList, new Random(seed));
}
私の質問は次のとおりです。新しい Random オブジェクトと新しい (ただしほぼ同一の) シードを使用して、メソッドが次々に実行される場合、これはリストの適切なランダム シャッフルになりますか?
このメソッドshuffleUnionShuffleLists()
は、約 3 分ごとに実行されます。