字典顺序,可以理解为拼音字母顺序import java.util.*;Arrays.sort(s, new Comparator(){ int compare(String s1, String s2){ return s1.compareTo(s2); } } );
都一样呀,关键是用compareTo public class Test { public String[] orderSomething(String[] s){ String tmp; for(int i=0;i<s.length;i++){ for(int j=i+1;j<s.length;j++){ if(s[i].compareTo(s[j]) > 0){ tmp = s[i]; s[i] = s[j]; s[j] = tmp; } } } return s; }
public static void main(String[] args){ String[] s = {"李华","张文","刘霞","王俪"}; Test t = new Test(); s = t.orderSomething(s); for(int i=0;i<s.length;i++){ System.out.println("s[" + i + "] = " + s[i]); } } }
new Comparator(){
int compare(String s1, String s2){
return s1.compareTo(s2);
}
}
);
public class Test { public String[] orderSomething(String[] s){
String tmp;
for(int i=0;i<s.length;i++){
for(int j=i+1;j<s.length;j++){
if(s[i].compareTo(s[j]) > 0){
tmp = s[i];
s[i] = s[j];
s[j] = tmp;
}
}
}
return s;
}
public static void main(String[] args){
String[] s = {"李华","张文","刘霞","王俪"};
Test t = new Test();
s = t.orderSomething(s);
for(int i=0;i<s.length;i++){
System.out.println("s[" + i + "] = " + s[i]);
}
}
}
s[0] = 刘霞
s[1] = 张文
s[2] = 李华
s[3] = 王俪
如果是按第一个汉字拼音字母的字典顺序的话也不应该是这样啊????
5楼的程序没有问题啊.究竟是按什么规则排序的呢?
import java.util.*;
public class Test{
public String[] orderSomething(String[] s){
Arrays.sort(s,
new Comparator<String>(){
public int compare(String s1, String s2){
return s1.compareTo(s2);
//return s1.getBytes()[0]-s2.getBytes()[0];
}
}
};
return s;
}
public static void main(String[] args){
String[] s = {"李华","张文","刘霞","王俪"};
Test t = new Test();
s = t.orderSomething(s);
for(int i=0;i<s.length;i++){
System.out.println("s[" + i + "] = " + s[i] + " " + (int)s[i].charAt(0) + " " + (int)s[i].getBytes()[0]);
}
}
}
测试了一下,如果是按byte排序的话,就是拼音,但是编码不同
需要哪种,楼主自己看着办吧