加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

List排序 通过Comparable接口进行排序

发布时间:2020-12-14 17:02:50 所属栏目:大数据 来源:网络整理
导读:if (params?.sort == "userName") { ComparatorUserName comparatorUserName = new ComparatorUserName(params?.order) Collections.sort(accountUserLevelList,comparatorUserName); } /** * ***里面不能够根据会员编号进行排序,为了配合需求,定义了一个

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来搞定这个排序。好久没碰过集合排序了,顺便复习一下。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读