/**
* 将字符串按字典顺序排列,字符串只能由大小写字母跟数字组成
*
* @param str
* 要排序的字符串
* @return 排好序的字符串,格式:AaBbCcDd...Zz0123456789
*/
public static String stringSrot(String str) {
if (str.length() == 0 || str == null)
return str;
String standard = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789";
// 先将字符串变成字符数组
char[] chr = str.toCharArray();
// 把字符数组变成对应标准字符串位置的int型数组
int[] num = new int[str.length()];
for (int i = 0; i < chr.length; i++) {
num[i] = standard.indexOf(chr[i]);
}
// 对转换成int型的数组排序
Arrays.sort(num);
// 排序后的int型再转成char型数组
for (int i = 0; i < chr.length; i++) {
chr[i] = standard.charAt(num[i]);
}
// 将排序后的字符数组转成字符串返回
return String.copyValueOf(chr);
}
|
|