如何基于java隨機獲取不重復(fù)數(shù)值
假如我有一個數(shù)組:
ArrayList<Integer> mArrayList = new ArrayList<Integer>();
mArrayList.add(0);
mArrayList.add(1);
mArrayList.add(2);
mArrayList.add(3);
我需要從中隨機抽取2個數(shù) 不能重復(fù)抽取,我就會用這個方法
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)抽取出來的值,這樣獲取到的值就不會重復(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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
TreeSet詳解和使用示例_動力節(jié)點Java學(xué)院整理
TreeSet是一個有序的集合,它的作用是提供有序的Set集合。這篇文章主要介紹了TreeSet使用示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05
Java API如何實現(xiàn)向Hive批量導(dǎo)入數(shù)據(jù)
這篇文章主要介紹了Java API如何實現(xiàn)向Hive批量導(dǎo)入數(shù)據(jù)的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07

