字符串排序
利用toCharArray函数将字符串转换为字符数组,根据各个字符的ASCII值大小进行比较即可
public static String sort(String str){
//利用toCharArray可将字符串转换为char型的数组
char[] s1 = str.toCharArray();
for(int i=0;i<s1.length;i++){
for(int j=0;j<i;j++){
if(s1[i]<s1[j]){
char temp = s1[i];
s1[i] = s1[j];
s1[j] = temp;
}
}
}
//再次将字符数组转换为字符串,也可以直接利用String.valueOf(s1)转换
String st = new String(s1);
return st;
}
ps:
String str = "abcd";
// 字符串倒序方法一
char[] ch = str.toCharArray();
StringBuffer sb = new StringBuffer();
for (int i = ch.length - 1; i >= 0; i--) {
sb.append(ch[i]);
}
System.out.println(sb.toString());
// 字符串倒序方法二
StringBuffer sbb = new StringBuffer();
for (int i = str.length() - 1; i >= 0; i--) {
sbb.append(str.charAt(i));
}
System.out.println(sbb.toString());
// 字符串倒序方法三
System.out.println(new StringBuffer(str).reverse().toString());
}
Arrays中提供了基本数据类型数组排序
String[] strs = new String[]{"abfds1", "advesd2", "dasfdsa3", "cdsaew1", "abbdsa3", "abbdsa2", "abbdsa"};
Arrays.sort(strs);
for(String str : strs) {
System.out.println(str);
}
输出结果
abbdsa
abbdsa2
abbdsa3
abfds1
advesd2
cdsaew1
dasfdsa3
其他的Object类型排序需要对象实现CompareTo接口,或使用实现了ComparaTor接口的对象作为Arrays.sort方法的第二个参数