失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > android随机抽奖代码_Android 中从一个集合或者数组中随机抽取几个不同的值

android随机抽奖代码_Android 中从一个集合或者数组中随机抽取几个不同的值

时间:2022-01-26 17:30:48

相关推荐

android随机抽奖代码_Android 中从一个集合或者数组中随机抽取几个不同的值

从一个集合或者数组中随机抽取几个不同的值,不同的开发者应该有不同的实现方式,我这里说一下我这边项目中用到的一种实现方法

核心代码如下:

1、判断的方法

/**

* 使用一个List来保存数组,每次随机取出一个移除一个。

*/

public Integer[] getRandomArray(int n, Integer[] strArray) {

List list = new ArrayList();

for (int i = 0; i < strArray.length; i++) {

list.add(strArray[i]);

}

Random random = new Random();

// 当取出的元素个数大于数组的长度时,返回null

if (n > list.size()) {

return null;

}

Integer[] result = new Integer[n];

for (int i = 0; i < n; i++) {

// 去一个随机数,随机范围是list的长度

int index = random.nextInt(list.size());

result[i] = list.get(index);

list.remove(index);

}

return result;

}

2、使用方式

//创建一个集合来存放可以获取的值

private ArrayList canSelectIntArr = new ArrayList<>();

private Integer[] canSelectIntStrs = null;

/**

* 初始化可以可以选择的动作数

*/

private void initCanSelectIntsArr() {

canSelectIntArr.clear();

canSelectIntArr.add(0);

canSelectIntArr.add(1);

canSelectIntArr.add(2);

canSelectIntArr.add(3);

canSelectIntStrs = new Integer[canSelectIntArr.size()];

for (int i = 0; i < canSelectIntArr.size(); i++) {

canSelectIntStrs[i] = canSelectIntArr.get(i);

}

}

//最终调用

Integer[] randomArray = getRandomArray(actionAmount, canSelectIntStrs);

如果觉得《android随机抽奖代码_Android 中从一个集合或者数组中随机抽取几个不同的值》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。