java—如何在不重复列表成员的情况下获得从1到10的10个数字的随机列表

w1e3prcc  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(418)

此问题已在此处找到答案

创建无重复的随机数(20个答案)
6天前关门。
我正在尝试写一个方法,它可以得到一个从1到10的数字列表,其中不会有重复的数字。此外,成员不能为零。然而,在多次尝试后,我未能解决问题,以下是我的代码:

public ArrayList<Integer> dobijNiz() {
        int min = 1;
        int max = 10;
        ArrayList<Integer> lista = new ArrayList<Integer>();
        Random random = new Random();

        for (int i = 0; i < 11; i++) {
            int broj = random.nextInt((max - min) + 1) + min;

            lista.add(broj);   
        }
        System.out.println(lista);
        return lista;
    }

输出:

[2, 3, 3, 3, 4, 6, 10, 8, 2, 7, 9]

我忘了说。洗牌不起作用

fv2wmkja

fv2wmkja1#

将所有可能的数字添加到arraylist中,然后使用 Collections.shuffle 重新排列列表。

int min = 1;
int max = 10;
ArrayList<Integer> lista = new ArrayList<Integer>();
for (int i = min; i <= max; i++) {
    lista.add(i);   
}
Collections.shuffle(lista);

相关问题