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

随机生成不重复的字符串

//生成字符表

public void generatorAlphabeta(List<Character> list,char st,char ed){

        for(char c= st;c<=ed;c++){

            list.add(c);

        }

    }

     

public void testSort2(){

        List<String> stringList = new ArrayList<String>();

        List<Character> subList = new ArrayList<Character>();

         

        generatorAlphabeta(subList, 'a', 'z');//将a-z加入字符表

        generatorAlphabeta(subList, 'A', 'Z');//将A-Z加入字符表

        generatorAlphabeta(subList, '0', '9');//将0-9加入字符表

         

        //随机生成字符串

        String str = "";

        Random random = new Random();

        for (int j = 0; j < 10; j++) {

            str = "";

            while(true){

            for (int i = 0; i < random.nextInt(10); i++) {

                double randomNum = 0.0;

                int index = 0;

                    index = random.nextInt(62);

                    str = str + subList.get(index);

                }//生成小于10长度的字符串

            if(!str.equals("") && !stringList.contains(str)) break;//不为空且不重复就跳出字符串生成

            }

            stringList.add(str);//10条字符串

        }

                 

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

        }

    }



正在回答

3 回答

第一个for循环重复1000次 ,随机生成的字符串,长度大多数在5以内,不是很懂,望楼主指教

0 回复 有任何疑惑可以回复我~

while语句前面的 str = "";、double randomNum = 0.0; 好像没什么用

0 回复 有任何疑惑可以回复我~

楼主是在秀一下么,给楼主点个赞,求楼主打赏,望楼主采纳!@_@

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

随机生成不重复的字符串

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信