qq_凛时_04154889
2016-10-29 20:04:04浏览 1983
package com.imooc.collection;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class CollectionsTest {
public void testSort3(){
List<String> stringList=new ArrayList<String>();
//两个随机数,一个是为了确定字符串长度,另一个是为了产生随机字符串
Random random=new Random();
Random RAN=new Random();
int number=0;
StringBuffer sb=new StringBuffer();//可变字符串
String str="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890";
String k=new String();//存放每次遍历出的字符串
//循环产生10个字符串
for (int i=0;i<10;i++){
sb.setLength(0);
do{
number=RAN.nextInt(10);//字符串长度
//生成一个随机数组(每次取一个字符添加)
for(int j=0;j<=number;j++){
int num=random.nextInt(62);//随机从62个字符中取出一个位置
sb.append(str.charAt(num));//随机从62个字符中取出一个逐个黏贴
}
k=sb.toString();//把字符串付给k
}
//防止字符串相同
while(stringList.contains(k));
stringList.add(k);
System.out.println("成功添加数组:"+k);
}
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);
}
}
//主方法
public static void main(String[] args) {
CollectionsTest ct=new CollectionsTest();
ct.testSort3();
}
}
热门评论
我写的思路和你的差不多,但是你的这个有一个问题。
在设置字符串长度的时候,我觉得不应该使用“number=RAN.nextInt(10)”因为此时若产生的随机数可能为0,就不能称之为字符串了。改成“number=RAN.nextInt(9)+1”就可以解决这个问题。
本人一点拙见