if (params?.sort == "userName") {
ComparatorUserName comparatorUserName = new ComparatorUserName(params?.order)
Collections.sort(accountUserLevelList, comparatorUserName);
}
/**
* ***里面不能够根据会员编号进行排序,为了配合需求,定义了一个根据会员编号进行升降排序的内部类
* 添加人:**
* 添加时间:2011-08-18 14:31
*/
class ComparatorUserName implements Comparator {
String order = null //排序方式
//排序构造方法
ComparatorUserName(String order) {
this.order = order
}
//Comparator接口里面的排序方法
public int compare(Object arg0, Object arg1) {
Object object1 = (Object) arg0;
Object object2 = (Object) arg1;
//降序排序
if (order && order == "desc") {
if (object1[13] == null && object2[13] == null) {
return 0
} else if (object2[13] == null) {
return -1
} else if (object1[13] == null) {
return 1
} else if (object1[13].compareTo(object2[13]) < 0) {
return -1;
} else if (object1[13].compareTo(object2[13]) == 0) {
return 0;
} else if (object1[13].compareTo(object2[13]) > 0) {
return 1;
}
} else {
//升序排序
if (object1[13] == null && object2[13] == null) {
return 0
} else if (object2[13] == null) {
return 1
} else if (object1[13] == null) {
return -1
} else if (object1[13].compareTo(object2[13]) < 0) {
return 1;
} else if (object1[13].compareTo(object2[13]) == 0) {
return 0;
} else if (object1[13].compareTo(object2[13]) > 0) {
return -1;
}
}
}
}
做groovy好久了,List排序的时候只有对数字才能够快捷的进行排序,一直难受,今天下定决心用JAVA来搞定这个排序。好久没碰过集合排序了,顺便复习一下。