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

List排序的课后小作业~~不定长随机字符串的排序

标签:
Java
    public void stringSort(){

        List<String> stringList=new ArrayList<String>();
        Random random=new Random();
        int length,ch;//length保存每个元素的长度,ch保存合法的ascii码值
        //一层循环十次完成十个元素的生成和添加
        for(int i=0;i<10;i++){
            char s[]; //定义相应长度的字符型数组
            do {
                length = random.nextInt(10); //随机生成元素的长度
                s = new char[length];
                //二层循环为字符数组的每个元素赋随机char值
                for (int j = 0; j < length; j++) {
                    //获取随机ascii值,并判断生成的ascii码值是否为指定的0-9、a-z、A-Z
                    do {
                        ch = random.nextInt(127);
                    } while (!((47 < ch && ch < 58)  (64 < ch && ch < 91)  (96 < ch && ch < 123)));
                    s[j] = (char) ch;//将合法的ascii值转化为char值并赋值给数组
                }
            } while (stringList.contains(String.valueOf(s)));//判断list中是否已有该元素
            stringList.add(String.valueOf(s));//调用add函数将char数组保存的元素添加到list中
        }

        //通过foreach打印输出排序前的list
        System.out.println("-----排序前-----");
        for(String s:stringList){
            System.out.println("元素:"+s);
        }
        //用collection.sort对list进行排序
        Collections.sort(stringList);
        //通过foreach打印输出排序后的list
        System.out.println("-----排序后-----");
        for(String s:stringList){
            System.out.println("元素:"+s);
        }

    }
点击查看更多内容
1人点赞

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消