public class MyComp implements Comparator{
public int compare(Object o1,Object o2) {
Diff skipObj1=(Diff)o1;
Diff skipObj2=(Diff)o2;
if((skipObj1.count).compareTo(skipObj2.count)>0)//从小到大排序
return 1;
else
return 0;
}
}
上面可以按skipObj1对象的count属性进行排序,假使我想按skipObj1对象的其他属性进行排序怎么写呢?
最好达到这样的效果,比如我传个a进去,则按count排序,传b则按age,传c则按area,如此种种……谢谢指教!
public int compare(Object o1,Object o2) {
Diff skipObj1=(Diff)o1;
Diff skipObj2=(Diff)o2;
if((skipObj1.count).compareTo(skipObj2.count)>0)//从小到大排序
return 1;
else
return 0;
}
}
上面可以按skipObj1对象的count属性进行排序,假使我想按skipObj1对象的其他属性进行排序怎么写呢?
最好达到这样的效果,比如我传个a进去,则按count排序,传b则按age,传c则按area,如此种种……谢谢指教!
增加setComp(int num),指定比较的属性,comp = num;在重写的compare()里getComp(),可以得到要比较的属性,再用一个switch,其他同这样每次排序前,如调用setComp(1),就可以指定特定属性来排了