示例,对自定义数据类型进行排序。
ArrayList<Struct>result=new ArrayList<Struct>();
Collections.sort(result,new Comparator<Object>(){
@Override
public int compare(Object arg0, Object arg1){
Struct a = (Struct) arg0;
Struct b = (Struct) arg1;
if ( a.getNum()<b.getNum() ){
return 1;
}
else{
<span style="white-space:pre"> </span>if(a.getNum()==b.getNum()){
return 0;
}else{
return -1;
}
}
}
});
如上所示,只需要规定相比较的规则,JAVA就会自动排序,很方便。
-----------------------------------------------------------------------------------------
源码分析:
/**
* Compares its two arguments for order. Returns a negative integer,
* zero, or a positive integer as the f