使用 arraylist 随机播放范围

Shuffle range with arraylist

我正在学习Java ArrayList,我想用从010。到目前为止,这是我的代码:

import java.util.ArrayList;
import java.util.Collections;

public class manejoListas {
    ArrayList<Integer> lista=new ArrayList<>(20);

    public void llenarLista() {
        for (int i=0; i<20;i++) {
                lista.add(i);
        }
        Collections.shuffle(lista);
        System.out.println(lista);
    }
}

这是输出:

[3, 5, 9, 10, 19, 8, 6, 4, 15, 2, 0, 18, 16, 12, 14, 7, 17, 13, 1, 11]

如何获得 0 - 10 的范围?

你可以改变

lista.add(i);

lista.add(i / 2);

这会将范围缩小到 0(含)- 10(不含)。请注意,每个数字都会出现两次。如果您希望这些值更随机地分布,您可以使用 Random.nextInt(int) like

static Random rand = new Random();

public void llenarLista() {
    for (int i = 0; i < 20; i++) {
        lista.add(rand.nextInt(10));
    }
    // Collections.shuffle(lista);
    System.out.println(lista);
}

Java and i want to fill an ArrayList of 20 elements with random numbers from 0 to 10

在这种情况下,您需要随机数。没有随机播放功能。

Random rn = new Random();

然后

 for (int i = 0; i < 20; i++) {
        lista.add(rn.nextInt(10););
    }

不断添加 0 到 10 之间的随机数。