[code="java"]
String str = "bb:20;aa:18;cc:19;af:17;dd:21;cc:18;dd:24;ee:5;ee:3;ee:3242";
String[] xinxi1 = str.split(";", -1);
// 只能自己写比较器了
Arrays.sort(xinxi1, new Comparator() {
public int compare(String o1, String o2) {
// 前3个判空
if (o1 == o2) {
return 0;
}
if (o1 == null) {
return 1;
}
if (o2 == null) {
return -1;
}
// 如果key不一样,直接返回key的比较顺序
String[] info1 = o1.split(":", 2);
String[] info2 = o2.split(":", 2);
if (!info1[0].equals(info2[0])) {
return info1[0].compareTo(info2[0]);
}
// 这里有不一样的地方 a:5 a:15,谁排在前,注释掉的地方,是a:5排在前
int i1 = Integer.parseInt(info1[1]);
int i2 = Integer.parseInt(info2[1]);
return i2 - i1;
// return info2[1].compareTo(info1[1]);
}
});
for (String string : xinxi1) {
System.out.println(string);
}[/code]
[quote]
aa:18
af:17
bb:20
cc:19
cc:18
dd:24
dd:21
ee:3242
ee:5
ee:3
[/quote]