我有一个包含N个元素的列表,我想随机化它的顺序.
优选地,具有最少的计算,并且能够耗尽存储器(复制总数).
到目前为止,我想出了:
在我看来,最便宜的是第三种选择,但我不确定结果的随机性.有什么建议?
打乱列表的最佳方法是使用标准库方法Collections.shuffle。
List lst = getListFromSomewhere();
Collections.shuffle(lst);
Run Code Online (Sandbox Code Playgroud)
如果你想自己做,请阅读Fisher-Yates shuffle algorithm。