有 Java 编程相关的问题?

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


共 (1) 个答案

  1. # 1 楼答案

    Java集合对这个问题有一个(令人惊讶的)简单的解决方案:Collections.shuffle(Collection<?>, Random)和一个Random的种子是相同的

        List<Integer> quests = Arrays.asList(1, 2, 3, 4, 5);
        List<Integer> answers = Arrays.asList(10, 20, 30, 40, 50);
    
        long seed = System.nanoTime();
        Collections.shuffle(quests, new Random(seed));
        Collections.shuffle(answers, new Random(seed));
    
        System.out.println(quests);
        System.out.println(answers);
    

    注:

    额外的优化是危险的 这不起作用:

        long seed = System.nanoTime();
        Random rnd = new Random(seed);
        Collections.shuffle(quests, rnd);
        Collections.shuffle(answers, rnd);