81,094
社区成员
发帖
与我相关
我的任务
分享
public static void main(String[] args) throws Exception {
String []gg = new String[]{"a2","a20","a1","a11","b10","b112","c10","c2","c1","b1","b2"};
K []k = new K[gg.length];
for(int i=0;i<gg.length;i++) {
k[i] = new K(gg[i]);
}
java.util.Arrays.sort(k);
for(K kk:k) {
System.out.print(kk.getS()+" ");
}
}
class K implements java.lang.Comparable<K> {
public K(String ss) {
this.s = ss;
}
private String s;
public String getS() {
return s;
}
public int compareTo(K o) {
String ss = o.getS();
String ss_string = ss.replaceAll("[\\d]+", "");
String s_string = s.replaceAll("[\\d]+", "");
if(s_string.compareTo(ss_string) != 0) {
return s_string.compareTo(ss_string);
}else {
int s_int = Integer.parseInt(s.replaceAll("[\\D]+", ""));
int ss_int = Integer.parseInt(ss.replaceAll("[\\D]+", ""));
return s_int - ss_int;
}
}
}