需求:随机生成一个数,该数用完之后可以再次回到随机库中。
分析:可以用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 list = new ArrayList();
private static int size = 100;
static{
//初始化随机库
for(int i= 0;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++;
}
}