随机题目
随机题目 2简单 1困难
public static void main(String[] args) { List<PrizeTemp> list = new ArrayList<>(); list.add(new PrizeTemp(1, "1")); list.add(new PrizeTemp(2, "2")); list.add(new PrizeTemp(3, "3")); list.add(new PrizeTemp(4, "4")); List<PrizeTemp> list2 = new ArrayList<>(); list2.add(new PrizeTemp(5, "5")); list2.add(new PrizeTemp(6, "6")); list2.add(new PrizeTemp(7, "7")); list2.add(new PrizeTemp(8, "8")); List<List<PrizeTemp>> prizeList = new ArrayList<>(); for (int x = 0; x < list.size(); x++) { for (int y = x + 1; y < list.size(); y++) { for (int z = 0; z < list2.size(); z++) { List<PrizeTemp> list3 = new ArrayList<>(); list3.add(list.get(x)); list3.add(list.get(y)); list3.add(list2.get(z)); prizeList.add(list3); } } } System.out.println(prizeList); for(int i = 0;i<10;i++) { Random random = new Random(); int n = random.nextInt(prizeList.size()-1); System.out.println(prizeList.get(n)); } }
2.util
/** * @function:从list中随机抽取若干不重复元素 * * @param paramList:被抽取list * @param count:抽取元素的个数 * @return:由抽取元素组成的新list */ public static List getRandomList(List paramList,int count){ if(paramList.size()<count){ return paramList; } Random random=new Random(); List<Integer> tempList=new ArrayList<Integer>(); List<Object> newList=new ArrayList<Object>(); int temp=0; for(int i=0;i<count;i++){ temp=random.nextInt(paramList.size());//将产生的随机数作为被抽list的索引 if(!tempList.contains(temp)){ tempList.add(temp); newList.add(paramList.get(temp)); } else{ i--; } } return newList; }
2.2 service
private List<QuestionVo> getRandomQuestions(Integer key, int num, Integer activityId) { List<QuestionVo> questionVoList = questionService.loadActivityQuestionByLevel(activityId,key); if (CollectionUtils.isEmpty(questionVoList)) { return new ArrayList<>(); } List<QuestionVo> questionVos = CommonUtil.getRandomList(questionVoList, num); return questionVos; } public List<QuestionVo> getUserQuestion(Integer activityId) { List<QuestionVo> questionVoList = getRandomQuestions(1, 2, activityId); List<QuestionVo> questionVoList2 = getRandomQuestions(2, 1, activityId); questionVoList.addAll(questionVoList2); return questionVoList; }

浙公网安备 33010602011771号