繁体   English   中英

使用arraylist随机播放范围

[英]Shuffle range with arraylist

我正在研究Java ArrayList ,我想用从010随机数填充20个IntegerArrayList 到目前为止,这是我的代码:

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,14,7,17,13,1,11]

如何获得0到10的范围?

Java和我想用从0到10的随机数填充20个元素的ArrayList

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

Random rn = new Random();

接着

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

这样一来,随机数就会一直保持在0到10之间。

你可以改变

lista.add(i);

lista.add(i / 2);

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

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);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM