如何基于java隨機(jī)獲取不重復(fù)數(shù)值
假如我有一個(gè)數(shù)組:
ArrayList<Integer> mArrayList = new ArrayList<Integer>();mArrayList.add(0);mArrayList.add(1);mArrayList.add(2);mArrayList.add(3);
我需要從中隨機(jī)抽取2個(gè)數(shù) 不能重復(fù)抽取,我就會(huì)用這個(gè)方法
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); }
原理就是每抽取一次就刪除已經(jīng)抽取出來的值,這樣獲取到的值就不會(huì)重復(fù)了
完整代碼:
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); }}
測試結(jié)果:
3
2
3
0
2
3
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP中解決“對(duì)象關(guān)閉時(shí),不允許操作。”的詭異問題……2. ASP實(shí)現(xiàn)加法驗(yàn)證碼3. XML入門的常見問題(一)4. ASP基礎(chǔ)入門第三篇(ASP腳本基礎(chǔ))5. xpath簡介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理6. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)7. 告別AJAX實(shí)現(xiàn)無刷新提交表單8. XML解析錯(cuò)誤:未組織好 的解決辦法9. 詳解盒子端CSS動(dòng)畫性能提升10. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁的方法
