如何基于java随机获取不重复数值
假如我有一个数组:
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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好吧啦网。
相关文章:
1. Java基础之详解HashSet的使用方法2. 直接拿来用 九个超实用的PHP代码片段(二)3. Python+Appium实现自动化测试的使用步骤4. django ObjectDoesNotExist 和 DoesNotExist的用法5. 基于javaweb+jsp实现企业财务记账管理系统6. Java智能卡基础篇——未来Java平台的新发展7. Django-imagekit的使用详解8. 基于spring@aspect注解的aop实现过程代码实例9. Android自定义view实现标签栏功能(只支持固定两个标签)10. Android 通过cmake的方式接入opencv的方法步骤
