无随机数的java Shuffle ArrayList
嗨,我想在没有随机数生成器的情况下洗牌我的ArrayList,但只能使用一个随机数。有没有办法做到这一点
算法应基于以下内容:
- ArrayList的大小(非零)
- ArrayList中每个项目的索引
- 随机数(不能在循环内生成,只能生成一个随机数)
示例
int randomNumber = new Random(10).nextInt();
myList = shuffle(myList, randomNumber)
public ArrayList<> shuffle(ArrayList<> myList, int randomNumber){
for(int index = 0 ; index < myList.size() ; index++ ){
//shuffle algorithm working
}
return myList;
}
# 1 楼答案
与您的想法相反,伪随机数是确定性的。从同一个种子,你总是得到相同的序列。只需使用randomNumber的值来初始化生成器
实际上,算术绝对不能产生真正的随机性