继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Java入门第三季 6-5 实现对泛型为String的List进行排序

xiaozhaowhut
关注TA
已关注
手记 2
粉丝 4
获赞 11

Java入门第三季 6-5 ,利用Collections.sort()方法对泛型为String的List进行排序。在上篇代码的基础上加了if判断语句,使得每次产生的字符串长度不为0。
代码如下:

/**
 * 利用Collections.sort()方法对泛型为String的List进行排序版本之二
 * 1.创建完List<String>之后,往其中添加十条随机字符串
 * 2.每条字符串的长度为10以内的随机整数
 * 3.每条字符串的每个字符都为随机生成的字符,字符可以重复
 * 4.每条随机字符串不可重复
 * @param args
 */

    /**
     * 总结:(1)通过向字符串中添加字符来构建新的字符串。因为字符串长度可变,
     * 可以使用StringBuffer或StringBuilder类型定义字符串,调用append()方法来改变字符串内容。
     * 每次产生新的字符串之前要调用setLength(0)方法将之前的字符串清空。
     * (2)通过charAt(Random i)的方法来获取由数字、字母组成的字符串中的单个字符。
     * (3)通过toString方法把StringBuffer类型转变为String类型
     */
    public void testSort3(){
        List<String> stringList=new ArrayList<String>();
        String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; 
        StringBuffer stringBuff= new StringBuffer();  
        Random stringlength=new Random();
        String temp;
        for(int i=0;i<10;){//for循环外层计算随机字符串数量
            stringBuff.setLength(0);//StringBuffer清空
            int k=stringlength.nextInt(10);//字符串长度
            if(k>0){
                do{//产生字符串
                    for(int j=0;j<k;j++){//产生单个字符
                        int number = stringlength.nextInt(62); 
                        stringBuff.append(str.charAt(number));  
                        }
                    temp=stringBuff.toString();
                    }while(stringList.contains(temp));
                    stringList.add(temp);
                    System.out.println("成功添加字符串:"+""+temp);
                    i++;
            }

        }
        System.out.println("-------排序前-------");
        for(String string:stringList){
            System.out.println("字符串:"+string);
        }
        Collections.sort(stringList);
        System.out.println("-------排序后-------");
        for(String string:stringList){
            System.out.println("字符串:"+string);
        }

    }
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP