List<Map>的分页方式

 if (ObjectUtils.isNotEmpty(params.get("pageSize")) && ObjectUtils.isNotEmpty(params.get("pageNum"))){
            int pageSize = params.getInt("pageSize");
            int pageNum = params.getInt("pageNum");

            resultList = resultList.stream().skip((pageNum - 1) * pageSize )
                    .limit(pageSize)
                    .collect(Collectors.toList());
            returnMap.put("list",resultList);
            return returnMap;
        }

获取分页参数:
        pageNum :表示起始位置,通常是从1开始的,所以需要减1以得到实际的索引(数组/列表索引从0开始)。
        pageSize:表示每页的记录数。
使用Stream API进行分页:
skip():跳过(pageNum - 1) * pageSize个元素,这相当于跳过了 (pageNum - 1) 页的记录。
limit():限制返回的元素数量,最多返回pageSize个元素。
collect():将处理后的流转换回List<Entity>。
这个例子中的分页逻辑是基于当前resultList的大小,而不是基于总记录数。这意味着如果resultList的大小小于pageNum 所表示的位置,skip()会跳过所有元素,返回一个空列表。同样,如果pageSize大于resultList的大小,limit()也不会超出实际的元素数量。
请注意,这种方法假设map中包含"pageNum "和"pageSize"这两个键,且对应的值都是有效的整数。在实际应用中,你需要进行错误检查,确保这些值是有效的,并处理可能出现的异常情况。例如,验证输入是否为非负整数,以及在map中是否存在这些键。

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值