Java 生成随机字符串数组的实例详解
Java生成随机字符串数组的实例详解
利用Collections.sort()方法对泛型为String的List进行排序。具体要求:
1.创建完List
2.每条字符串的长度为10以内的随机整数
3.每条字符串的每个字符都为随机生成的字符,字符可以重叠
4.每条随机字符串不可重复
将涉及到的知识有:String、StringBuffer、ListArray、泛型、Collections.sort、foreach、Random等相关知识,算是在JAVA学习过程中一个比较好的的实践。
1.随机生成一个字符
1.1先将所有的字母和0-9的数字存放于一个字符串中,以便后续使用。
Stringstr="aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStT uUvVwWxXyYzZ0123456789";
1.2因为要满足随机性,所以创建一个Random对象,利用其中的nextInt(str.length)方法生成一个0—str.length的随机数。
Randomrandom=newRandom(); intindex=random.nextInt(str.length());
1.3再将上述生成的随机数作为str字符串的索引取出相应的字符,及随机生成了一个字符
charc=str.charAt(index);
2.生成一条长度为10以内的随机字符串
2.1因为是10以内且满足随机性,所以此处使用Math.random()函数,其返回值为随机0.0-1.0的Double类型的数
StringBufferstringBuffer=newStringBuffer(); //确定字符串长度 intstringLength=(int)(Math.random()*10);
2.2现在字符串的长度可以确认,也实现了生成随机的字符,再利用for循环就可以生成一条长度为10以内的随机字符串
for(intj=0;j3.生成10条随机字符串
3.1经过上述的两个步骤,再在外部嵌套一个for循环就可以生成10条随机字符串
4.创建一个ListArray
集合储存着10条随机字符串 4.1创建一个String类型集合,该步奏应该和步奏3同步完成
ListlistString=newArrayList (); 4.2将每次生成的一条字符串添加到集合中,注意利用集合的Contains()方法判断集合中之前是否已存在相同的字符串(虽然概率很小)。
//判断当前的list容器中是否已有刚生成的字符串,满足每条字符串不可重复性 if(!(listString.contains(stringBuffer.toString()))){ listString.add(stringBuffer.toString()); }else{ //i--如果不满足则重新生成 i--; }5最后对集合排序
5.1调用Collections.sort()方法对集合排序,其排序的规则如下:
- 从左向右原则,且0-9
- 数字优先原则,且A-Z
- 字母大写优先原则,且a-z
总的代码
importjava.util.ArrayList; importjava.util.Collection; importjava.util.Collections; importjava.util.List; importjava.util.Random; publicclassRandomString{ publicstaticvoidmain(String[]args){ ListstrList=randomString(); System.out.println("------随机生成的10条字符串-------"); for(Stringstring:strList){ System.out.println(string); } System.out.println("------------排序后------------"); Collections.sort(strList); for(Stringstring:strList){ System.out.println(string); } } publicstaticList randomString(){ //将所有的大小写字母和0-9数字存入字符串中 Stringstr="aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789"; Randomrandom=newRandom(); List listString=newArrayList (); StringstrArray[]=newString[10]; //生成10条长度为1-10的随机字符串 for(inti=0;i<10;i++){ StringBufferstringBuffer=newStringBuffer(); //确定字符串长度 intstringLength=(int)(Math.random()*10); for(intj=0;j 输出答案不唯一
以上就是Java生成随机字符串数组的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。