java让自定义list,Java 自定义工具类实现List分页

Java 自定义工具类实现List分页

Java 自定义工具类实现List分页

业务接口

/**

* 订购实例查询接口

*

* @param input

* @return

*/

@ApiOperation(value = "订购实例查询接口", notes = "入参:userId、pageSize(分页数据条数)、pageNum(当前页码)")

Map queryOrderInstance(Map input);

调用工具类方法(相关参数的非空校验这里不再贴出):

List returnList = PageUtils.startPage(userList, pageNum, pageSize);

userMap.put("userInfos", returnList);

//返回总记录数

userMap.put("total", userList.size());

result.put("body", userMap);

return result;

工具类:

import java.util.ArrayList;

import java.util.List;

import java.util.Map;

/**

* 自定义List分页工具类

* @author zhangjie

* @date 2020-09-15

*/

public class PageUtils {

/**

* 开始分页

* @param objectList 分页对象

* @param pageNum 页码

* @param pageSize 每页数据条数

* @return

*/

public static List startPage(List objectList, Integer pageNum, Integer pageSize) {

if (ArrayUtils.isEmpty(objectList)) {

return new ArrayList();

}

//防止起始索引为负数,程序抛出IndexOutOfBoundsException

if (pageNum <= 0){

pageNum = 1;

}

// 总记录数

Integer totalCount = objectList.size();

// 开始索引

int fromIndex = (pageNum - 1) * pageSize;;

// 结束索引

int endIndex = 0;

//分页起始索引fromIndex不能大于结果集总记录数

if(totalCount >= fromIndex) {

endIndex = fromIndex + pageSize;

//最后一条记录的索引大于总记录数

if (endIndex > totalCount) {

//结束索引为集合的最后一个元素索引

endIndex = totalCount;

}

} else {

return new ArrayList();

}

List pageList = objectList.subList(fromIndex, endIndex);

return pageList;

}

}

最终在Swagger UI测试的返回结果 ↓↓

87ce3d5c2639eeeb4f29786e4c477369.png

Java 自定义工具类实现List分页相关教程

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值