/*
* 对泛型为String的List的排序版本2
* 1.创建完List<String>后,往其中添加十条随机字符串
* 2.每条字符串的长度为10以内的随机整数
* 3.每条字符串的每个字符都为随机生成的字符,字符可以重复
* 4.每条随机字符串不可以重复
*/
public void testSort3(){
List<String>stringList = new ArrayList<String>();
//自定义一个基本随机字符串
String baseRandom = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
Random random = new Random();
//字符串中的每个字符是随机产生,会变化所以实例化一个StringBuffer对象
StringBuffer sb = new StringBuffer();
/*
* 多重循环,外层循环控制生成多少个字符串,
* 内层循环控制每条字符串随机产生的字符个数;
* do...while控制产生的字符串和以前的产生字符串不相同
*/
for(int j = 0;j<10;j++){
do{
for(int i = 0;i<Math.random()*10;i++){
//在基本字符串的长度中随机,得到随机数
int number = random.nextInt(baseRandom.length());
//根据随机数索引到基本字符串中的字符,添加到sb中;
sb.append(baseRandom.charAt(number));
}
}while((stringList.contains(sb)));
//添加产生的随机字符串于stringList集合中
stringList.add(sb.toString());
System.out.println("添加字符串:"+sb);
//将此字符串清空
sb.delete(0, sb.length());
}
System.out.println("------------排序前----------");
for (String string : stringList) {
System.out.println("元素:"+string);
}
System.out.println("------------排序后----------");
Collections.sort(stringList);
for (String string : stringList) {
System.out.println("元素:"+string);
}
}
打开App,阅读手记