手记

Java第三季6-5随机字符串的排序

/*
     * 对泛型为String的List的排序版本2
     * 1.创建完List<String>后,往其中添加十条随机字符串
     * 2.每条字符串的长度为10以内的随机整数
     * 3.每条字符串的每个字符都为随机生成的字符,字符可以重复
     * 4.每条随机字符串不可以重复
     */
    public void testSort3(){
        List<String>stringList = new ArrayList<String>();
        //自定义一个基本随机字符串
        String baseRandom = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
        Random random = new Random();
        //字符串中的每个字符是随机产生,会变化所以实例化一个StringBuffer对象
        StringBuffer sb = new StringBuffer();
        /*
         * 多重循环,外层循环控制生成多少个字符串,
         * 内层循环控制每条字符串随机产生的字符个数;
         * do...while控制产生的字符串和以前的产生字符串不相同
         */
        for(int j = 0;j<10;j++){
            do{
                for(int i = 0;i<Math.random()*10;i++){
                    //在基本字符串的长度中随机,得到随机数
                    int number = random.nextInt(baseRandom.length());
                    //根据随机数索引到基本字符串中的字符,添加到sb中;
                    sb.append(baseRandom.charAt(number));
                }
            }while((stringList.contains(sb)));
            //添加产生的随机字符串于stringList集合中
            stringList.add(sb.toString());
            System.out.println("添加字符串:"+sb);
            //将此字符串清空
            sb.delete(0, sb.length());
        }
        System.out.println("------------排序前----------");
        for (String string : stringList) {
            System.out.println("元素:"+string);
        }
        System.out.println("------------排序后----------");
        Collections.sort(stringList);
        for (String string : stringList) {
            System.out.println("元素:"+string);
        }
    }
0人推荐
随时随地看视频
慕课网APP