Java入门第三季 6-5 ,利用Collections.sort()方法对泛型为String的List进行排序。在上篇代码的基础上加了if判断语句,使得每次产生的字符串长度不为0。
代码如下:
/**
* 利用Collections.sort()方法对泛型为String的List进行排序版本之二
* 1.创建完List<String>之后,往其中添加十条随机字符串
* 2.每条字符串的长度为10以内的随机整数
* 3.每条字符串的每个字符都为随机生成的字符,字符可以重复
* 4.每条随机字符串不可重复
* @param args
*/
/**
* 总结:(1)通过向字符串中添加字符来构建新的字符串。因为字符串长度可变,
* 可以使用StringBuffer或StringBuilder类型定义字符串,调用append()方法来改变字符串内容。
* 每次产生新的字符串之前要调用setLength(0)方法将之前的字符串清空。
* (2)通过charAt(Random i)的方法来获取由数字、字母组成的字符串中的单个字符。
* (3)通过toString方法把StringBuffer类型转变为String类型
*/
public void testSort3(){
List<String> stringList=new ArrayList<String>();
String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
StringBuffer stringBuff= new StringBuffer();
Random stringlength=new Random();
String temp;
for(int i=0;i<10;){//for循环外层计算随机字符串数量
stringBuff.setLength(0);//StringBuffer清空
int k=stringlength.nextInt(10);//字符串长度
if(k>0){
do{//产生字符串
for(int j=0;j<k;j++){//产生单个字符
int number = stringlength.nextInt(62);
stringBuff.append(str.charAt(number));
}
temp=stringBuff.toString();
}while(stringList.contains(temp));
stringList.add(temp);
System.out.println("成功添加字符串:"+""+temp);
i++;
}
}
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);
}
}