我需要一种算法或可以做到这一点的库:
我想有一个从0开始到n结束的整数序列,例如:
0,1,2,3,4,5,6,7,8,9,10,11
我想用数字键弄乱数字的顺序,所以我使用键378,算法给了我这个新的数字序列:
7,5,3,11,0,9,4,1,8,10,2
所以我的问题是。有一种算法或库可以在Java中做到这一点?
答案 0 :(得分:1)
Collections.shuffle
允许您传入自己的随机性源,因此您可以使用378作为种子,并始终接收相同的随机列表:
var numbers = Arrays.asList(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11);
Collections.shuffle(numbers, new Random(378));
System.out.println(numbers);
输出:
[4, 10, 3, 2, 0, 7, 9, 11, 5, 6, 1, 8]