zoukankan      html  css  js  c++  java
  • Java将list<map>或者list<entity>集合根据指定字段排序

    今天项目中用到了,特记录一下

    一. List<Map>

    如果 item.get(sortField) 有时间,有数字的时候直接toString(),数组结果的排序结果可能不正确

    List<Map<String, Object>> resourceCatalogFrontVoList = resourceMapper.selectPublishResourceCatalogList(keyWord, sysId, shareType, openAttribute,
                    classifyId, resourceType, page);
            //排序
            Comparator<Map<String, Object>> comparator = Comparator.comparing(item -> item.get(sortField).toString());
            if (FrontConstant.SORT_TYPE_ASC == sortType){
                //升序
                resourceCatalogFrontVoList.sort(comparator);
            }else {
                resourceCatalogFrontVoList.sort(comparator.reversed());
            }
            //分页
            return page.setRecords(resourceCatalogFrontVoList);

    补充

    if (FrontConstant.SORT_TYPE_ASC == sortType){
                //升序
                Collections.sort(resourceCatalogFrontVoList, Comparator.comparing(
                        item -> item.get(sortField).toString()));
            }else {
                Collections.sort(resourceCatalogFrontVoList, Comparator.comparing(
                        item -> item.get(sortField).toString(), Comparator.reverseOrder()));
            }

    二.List<entity>

    
    
    List<ResMessageVo> messageVoList = messageMapper.selectUnReadMessage(null, null, null, MessageConstant.MESSAGE_TYPE_MOUNT_RESOURCE_RESULT);

    //排序
            Comparator<ResMessageVo> comparator = Comparator.comparing(item -> item.getCreateTime());
            if (FrontConstant.SORT_TYPE_ASC == sortType){
                //升序
                messageVoList.sort(comparator);
            }else {
                messageVoList.sort(comparator.reversed());
            }
  • 相关阅读:
    第二阶段站立会议(3)
    第二阶段站立会议(2)
    第二阶段站立会议(1)
    返回一个最大联通子数组的和
    场景调研
    课程改进意见
    百度搜索引擎——评价
    求1的个数
    《校园封神榜》个人工作总结——第十天
    《校园封神榜》个人工作总结——第九天
  • 原文地址:https://www.cnblogs.com/cailijuan/p/11412722.html
Copyright © 2011-2022 走看看