• 随机生成不重复随机数


    java的Random对象提供随机方法,可在指定范围内随机产生随机数

    如:

    //接收随机后的随机数集合
            List<Integer> ql = new ArrayList<Integer>();
            //随机对象
            Random random = new Random();
            int temp;
            //取5个随机数
            while(ql.size() < 5){
                //生成随机数,范围50以内
                temp = random.nextInt(50);
                //判断是否重复
                if(!ql.contains(temp)){
                    ql.add(temp);
                }
            }
            System.out.println(ql);
        }

    当需要将数组或集合中的某些数据随机抽取出来时,可通过上面方法将随机数作为下标依次取出数据

    如:

            Question q1=new Question();
            q1.setTitle("测试1");
            Question q2=new Question();
            q2.setTitle("测试2");
            Question q3=new Question();
            q3.setTitle("测试3");
            Question q4=new Question();
            q4.setTitle("测试4");
            Question q5=new Question();
            q5.setTitle("测试5");
            
            List<Question> question=new ArrayList<Question>();
            question.add(q1);
            question.add(q2);
            question.add(q3);
            question.add(q4);
            question.add(q5);
    //接收随机后的随机数集合 List<Integer> ql = new ArrayList<Integer>(); //随机对象 Random random = new Random(); int temp; //取5个随机数 while(ql.size() < 5){ //在数据集合大小范围内 temp = random.nextInt(question.size()); //判断是否重复 if(!ql.contains(temp)){ ql.add(temp); } }
    //重新定义一个集合来接收随机后的数据 List<Question> lquestion=new ArrayList<Question>(); //根据所随机的下标集合,循环找到对应的数据集合中的值并重新get到新集合 for (int i = 0; i < ql.size(); i++) { lquestion.add(question.get(ql.get(i))); } //循环打印随机生成后的集合 for (int i = 0; i < lquestion.size(); i++) { System.out.println(lquestion.get(i)); }

    这样就可以随机获取集合里面的5条数据了

    注:如果是不重复的随机数,随机范围是不能小于所要获取的随机个数的

  • 相关阅读:
    财务系统重复付款case分析及解决方案
    MySQL体系结构
    安装篇九:安装wordpress(5.4版本)
    安装篇八:配置 Nginx 使其支持 MySQL 应用
    安装篇七:配置 Nginx 使其支持 PHP 应用
    安装篇六:安装PHP(7.2.29版本)
    安装篇五:安装MySQL(5.6.38版本)
    安装篇四:安装NGINX(1.4.0版本)
    安装篇三:系统初始化设置
    安装篇二:CentOS 6.9系统安装
  • 原文地址:https://www.cnblogs.com/angto64/p/5309993.html
Copyright © 2020-2023  润新知