java实现生成不重复的随机数,可循环利用

来源:互联网 发布:淘宝汉服商家推荐2016 编辑:程序博客网 时间:2024/05/16 18:07

             需求:随机生成一个数,该数用完之后可以再次回到随机库中。

             分析:可以用List集合存储所有的想要的随机数,随机生成一个0~list.size()范围的数,从集合中取出,然后移除,该数也可以重新回答集合中。

            代码如下:

            

package com.mfnote.util;import java.util.ArrayList;import java.util.List;import java.util.Random;/** * 随机数生成工具类 * @author DC * */public class RandomUtils {private static List<Integer> list = new ArrayList<Integer>();private  static int size = 100;static{//初始化随机库for(int i= 0;i<size;i++){list.add(i);}}/**生成一个requestCode**/    public static int getRequestCode(){    int requestCode = 0;    if(size<1){    return -1;    }    Random random = new Random();    int randomInt = random.nextInt(size);    requestCode = list.get(randomInt);    list.remove(randomInt);    size--;    return requestCode;    }        /**回收不再需要的requestCode**/    public static void recycleRequestCode(int requestCode){    list.add(requestCode);    size++;    }}


原创粉丝点击