如何弄乱一个数字序列?

时间:2018-09-15 14:39:29

标签: java

我需要一种算法或可以做到这一点的库:

我想有一个从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中做到这一点?

1 个答案:

答案 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]