如何基于java随机获取不重复数值

网友投稿 254 2023-03-14

如何基于java随机获取不重复数值

假如我有一个数组:

ArrayList mArrayList = new ArrayList();

mArrayList.add(0);

mArrayList.add(1);

mArrayList.add(2);

mArrayList.add(3);

我需要从中随机抽取2个数 不能重复抽取,我就会用这个方法

public void getValue(ArrayList mArrayList){

Random mRandom = new Random();

int a = mRandom.nextInt(mArrayList.size());

int value = mArrayList.get(a);

System.out.println(value + "");

mArrayList.remove(a);

}

原理就是每抽取一次就删除已经抽取出来的值,这样获取到的值就不会重复了

完整代码:

package com.xiaoqiu.test;

import java.util.ArrayList;

import java.util.Random;

public class Test {

public static void main(String[] args) {

ArrayList mArrayList = new ArrayList();

mArrayList.add(0);

mArrayList.add(1);

mArrayList.add(2);

mArrayList.add(3);

Test mTest = new Test();

mTest.getValue(mArrayList);

mTest.getValue(mArrayList);

}

public void getValue(ArrayList mArrayList){

Random mRandom = new Random();

int a = mRandom.nextInt(mArrayList.size());

int value = mArrayList.get(a);

System.out.println(value + "");

mArrayList.remove(a);

}

}

测试结果:

3

2

3

0

2

3

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot声明式事务的简单运用说明
下一篇:一篇文章彻底理解SpringIOC、DI
相关文章

 发表评论

暂时没有评论,来抢沙发吧~