List排序
compare(String o1, String o2)方法返回的是-1,则排序时o1在前,o2在后,如果返回的是1,则排序时o2在前,o1在后。升序排列时,直接o1-o2的值就可以确定。
以下示例为对号段排序,小号段排在前面
Collections.sort(codeRowList, new Comparator<String>() {
public int compare(String o1, String o2) {
int length1=o1.length();
int length2=o2.length();
int length=0;
if(length1<length2){
length=length2;
}else{
length=length1;
}
for(int i=0;i<length;i++){
if(i==length1){
return -1;
}else if(i==length2){
return 1;
}else{
Integer i1 =Integer.valueOf(String.valueOf(o1.charAt(i)));
Integer i2 =Integer.valueOf(String.valueOf(o2.charAt(i)));
if((i1==i2)&&(i<length-1)){
continue;
}else{
return i1.compareTo(i2);
}
}
}
return 0;
}
});