随机题目

随机题目 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;
    }

 

posted @ 2021-10-10 20:33  mimimikasa  阅读(87)  评论(0)    收藏  举报