为了账号安全,请及时绑定邮箱和手机立即绑定

sort内部按数字,大写字母,小写字母的优先级排序,有图有真相

public void testSort2(){

List<String>sb=new ArrayList<String>();

Random random=new Random();

//生成十条不重复的字符串(由数字和字母组成)

for(int i=0;i<10;i++){

StringBuffer str=new StringBuffer();

do{

//字符串长度为10以内的整数,nextInt()范围为[0,10),字符串长度不想设置为空就加1

int size=1+random.nextInt(10);

//随机生成字符串

for(int tempsize=0;tempsize<size;tempsize++){

int c;

do{

//随机生成0到122的数字,0到9表示数字字符,65到90表示'A'到'Z'

//97到122表示'a'到'z'

c=(int)(Math.random()*123);

}

//当生成的字符为'0'到'9'或'a'到'z'或'A'到'Z'时跳出

while(!((c>=0&&c<=9)||(c>='a'&&c<='z')||(c>='A'&&c<='Z')));

if(c>=0&&c<=9){

String s=Integer.toString(c);

str.append(s);

}

else{

char cr=(char)c;

String s=String.valueOf(cr);

str.append(s);

}

}https://img1.sycdn.imooc.com//5bdbf2720001d18502540461.jpg

}while(sb.contains(str.toString()));

//如果list没有该字符串就加入

sb.add(str.toString());

}

System.out.println("排序前的字符串list为:");

for (String string : sb) {

System.out.println(string);

}

System.out.println("排序后的字符串list为:");

Collections.sort(sb);

for (String string : sb) {

System.out.println(string);

}

}


正在回答

1 回答

排序应该是按照ASCII码表上的顺序进行排列的,可以在百度上搜一下ASCII码表,优先级就出来了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

sort内部按数字,大写字母,小写字母的优先级排序,有图有真相

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号