Juu*_*tyy 3 java random math arraylist
ArrayList<Integer> lista = new ArrayList<Integer>();
lista.add(159);
lista.add(170);
lista.add(256);
Run Code Online (Sandbox Code Playgroud)
例如,我在我的arraylist中得到了这3个数字,我想随机获得其中一个.怎么可能?
gal*_*ics 17
一种方法是使用Random类:
ArrayList<Integer> lista = new ArrayList<Integer>();
lista.add(159);
lista.add(170);
lista.add(256);
Random r = new Random();
System.out.println(lista.get(r.nextInt(lista.size())));
Run Code Online (Sandbox Code Playgroud)
或者使用shuffle:
ArrayList<Integer> lista = new ArrayList<Integer>();
lista.add(159);
lista.add(170);
lista.add(256);
Collections.shuffle(lista);
System.out.println(lista.get(0));
Run Code Online (Sandbox Code Playgroud)
您可以使用Random生成一个int用作随机索引.
Random rand = new Random();
Integer randomInt = lista.get(rand.nextInt(lista.size()));
Run Code Online (Sandbox Code Playgroud)
在这里,rand.nextInt(lista.size())会生成0和之间的随机索引size - 1.
参考:
随机#nextInt(int)
返回从此随机数生成器的序列中提取的伪随机,均匀分布的int值,介于0(包括)和指定值(不包括)之间.
| 归档时间: |
|
| 查看次数: |
38929 次 |
| 最近记录: |