public void stringSort(){
List<String> stringList=new ArrayList<String>();
Random random=new Random();
int length,ch;//length保存每个元素的长度,ch保存合法的ascii码值
//一层循环十次完成十个元素的生成和添加
for(int i=0;i<10;i++){
char s[]; //定义相应长度的字符型数组
do {
length = random.nextInt(10); //随机生成元素的长度
s = new char[length];
//二层循环为字符数组的每个元素赋随机char值
for (int j = 0; j < length; j++) {
//获取随机ascii值,并判断生成的ascii码值是否为指定的0-9、a-z、A-Z
do {
ch = random.nextInt(127);
} while (!((47 < ch && ch < 58) (64 < ch && ch < 91) (96 < ch && ch < 123)));
s[j] = (char) ch;//将合法的ascii值转化为char值并赋值给数组
}
} while (stringList.contains(String.valueOf(s)));//判断list中是否已有该元素
stringList.add(String.valueOf(s));//调用add函数将char数组保存的元素添加到list中
}
//通过foreach打印输出排序前的list
System.out.println("-----排序前-----");
for(String s:stringList){
System.out.println("元素:"+s);
}
//用collection.sort对list进行排序
Collections.sort(stringList);
//通过foreach打印输出排序后的list
System.out.println("-----排序后-----");
for(String s:stringList){
System.out.println("元素:"+s);
}
}
点击查看更多内容
1人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦