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

应用Collection.sort.实现随机字符串的排序

小败北
关注TA
已关注
手记 3
粉丝 0
获赞 31
package practice;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

public class TestSort {

    /**
     * 对随机字符串进行排序
     * @param args
     */
    public void Sort(){
        List<String> list = new ArrayList<String>();
        //org.apache.commons.lang包下有一个RandomStringUtils类,其中有一个randomAlphanumeric(int length)函数,
        //可以随机生成一个长度为length的字符串。
//      String filename=RandomStringUtils.randomAlphanumeric(10);

         String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        //使用Random生成随机字符串
        Random random = new Random();
        int count = 10;
        //创建一个可变长度的字符串变量
        //随机生成十个长度小于十的字符串,并进行排序
        for(int i = 0; i<count ;i++){
            StringBuffer buf = new StringBuffer();
            do{
                for(int j = 0; j<random.nextInt(count);j++){
                    //随机生成一个数字长度在str.length()之内。
                    int index = random.nextInt(str.length());
                    //在字符串buf后面追加一个字符 ,这个字符是字符串str的第index+1个字符
                    buf.append(str.charAt(index));
//                  buf.append(str.charAt(random.nextInt(str.length()))); 

                }
            }while(list.contains(buf.toString()));
            list.add(buf.toString());
        }
          //输出排序前的序列
        System.out.println("---------------排序前---------------");
        for(String before : list){
            System.out.println(before);
        }

        //调用方法进行排序,并输出排序后的结果
        Collections.sort(list);
        System.out.println("---------------排序后---------------");
        for(String after : list){
            System.out.println(after);
        }
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        TestSort ts = new TestSort();
        ts.Sort();
    }

}

图片描述

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