Java获取随机不重复的数得值

Jewel ·
更新时间:2024-11-10
· 753 次阅读

  假如我有一个数组:   ArrayList<Integer> mArrayList = new ArrayList<Integer>();   mArrayList.add(0);   mArrayList.add(1);   mArrayList.add(2);   mArrayList.add(3);   我需要从中随机抽取2个数  不能重复抽取,我会用这个方法   public void getValue(ArrayList<Integer> 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<Integer> mArrayList = new ArrayList<Integer>(); 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<Integer> 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



java获取 JAVA

需要 登录 后方可回复, 如果你还没有账号请 注册新账号