美文网首页
在排序中,给对象按照拼音排序

在排序中,给对象按照拼音排序

作者: momdiemg | 来源:发表于2019-11-26 15:46 被阅读0次

    Comparator<Object> CHINA_COMPARE = Collator.getInstance(java.util.Locale.CHINA);
    Collections.sort(list, CHINA_COMPARE);
    在使用这个外部排序不能再pagehelper下面使用,因为这样只会对那一页排序,所以这里需要使用内存分页来对,这种特殊情况处理一下

    //前端传入分页参数
            Pageable pageable = new Pageable            
                  pageable.setPageNum(0);
                  pageable.setPageSize(20);
    
           List<XueClazz> xueClazzList = new ArrayList<>();
                //分页
                Integer totalNum = xueClazzeList.size();
                //默认从零分页,这里要考虑这种情况,下面要计算。
                int pageNum = pageable.getPageNumber() + 1;
                int pageSize = pageable.getPageSize();
                Integer totalPage = 0;
                if (totalNum > 0) {
                    totalPage = totalNum % pageSize == 0 ? totalNum / pageSize : totalNum / pageSize + 1;
                }
                if (pageNum > totalPage) {
                    pageNum = totalPage;
                }
                int startPoint = (pageNum - 1) * pageSize;
                int endPoint = startPoint + pageSize;
                if (totalNum <= endPoint) {
                    endPoint = totalNum;
                }
                xueClazzeList = xueClazzeList.subList(startPoint, endPoint);
    
    

    方法二

    或者直接使用Oder BY convert_to(name,'gbk')数据库方法

    方法三

      test=# select * from a order by c1 collate "zh_CN";       
      --------  
       刘德华  
       刘少奇  
      (2 rows)
    

    相关文章

      网友评论

          本文标题:在排序中,给对象按照拼音排序

          本文链接:https://www.haomeiwen.com/subject/eztywctx.html