为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Java

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);
        }

    }
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消