zoukankan      html  css  js  c++  java
  • 随机生成不重复随机数

    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条数据了

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

  • 相关阅读:
    An intriguing failing of convolutional neural networks and the CoordConv solution
    Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization
    Win10下用Anaconda安装TensorFlow
    批处理框架
    智能分单算法
    海量数据处理利器greenplum——初识
    使用R画地图数据
    跟我一起ggplot2(1)
    一文搞懂HMM(隐马尔可夫模型)
    借助亚马逊S3和RapidMiner将机器学习应用到文本挖掘
  • 原文地址:https://www.cnblogs.com/angto64/p/5309993.html
Copyright © 2011-2022 走看看