List随机取集合里面的元素,通过Random随机取,回调直到取到指定数目为止
Posted 指导毕业设计Monkey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了List随机取集合里面的元素,通过Random随机取,回调直到取到指定数目为止相关的知识,希望对你有一定的参考价值。
package com.qfedu.fmmall;
import java.util.*;
public class RandomCaseUtil
/*
* 随机抽取理赔案件数,list 理赔总的案件数
* count 抽取数
*/
public static List getSubStringByRadom(List list, int count)
List backList = null;
backList = new ArrayList<String>();
Random random = new Random();
int backSum = 0;
if (list.size() >= count)
backSum = count;
else
// 判断抽取的数目是否大于集合大小的总数
backSum = list.size();
// 去除重复的随机数
Set<Integer> set = new HashSet<>();
for (int i = 0; i < backSum; i++)
// 随机数的范围为0-list.size()-1
int target = random.nextInt(list.size());
set.add(target);
jugeSize(set,backSum,list,random);
for (Integer i : set)
backList.add(list.get(i));
return backList;
private static void jugeSize(Set set, int backSum, List list, Random random)
if(set.size() < backSum)
for (int i = 0; i < backSum - set.size(); i++)
int target = random.nextInt(list.size());
set.add(target);
jugeSize(set,backSum,list,random);
public static void main(String[] args)
List<Integer> integers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
List subStringByRadom = getSubStringByRadom(integers, 5);
System.out.println(subStringByRadom);
以上是关于List随机取集合里面的元素,通过Random随机取,回调直到取到指定数目为止的主要内容,如果未能解决你的问题,请参考以下文章