有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

无随机数的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) 个答案

  1. # 1 楼答案

    与您的想法相反,伪随机数是确定性的。从同一个种子,你总是得到相同的序列。只需使用randomNumber的值来初始化生成器

    实际上,算术绝对不能产生真正的随机性