使用 Java Stream API 实现分页查询教练数据

本文介绍使用 Java Stream API 实现分页查询教练数据,并计算总页数的方法。

示例代码:

List<CoachDto> coachDtoListByPage = coachDtoList.stream()
    .skip((long) (queryRequest.getPageNum() - 1) * queryRequest.getPageSize())
    .limit(queryRequest.getPageSize())
    .collect(Collectors.toList());

int totalPages = (int) Math.ceil((double) coachDtoList.size() / queryRequest.getPageSize());

代码解析:

  1. coachDtoList.stream():将教练数据列表转换为 Stream 对象。
  2. .skip((long) (queryRequest.getPageNum() - 1) * queryRequest.getPageSize()):跳过前 (pageNum - 1) * pageSize 条数据,获取当前页数据。
  3. .limit(queryRequest.getPageSize()):限制获取当前页的 pageSize 条数据。
  4. .collect(Collectors.toList()):将筛选后的数据收集到一个新的 List 中,即 coachDtoListByPage
  5. int totalPages = (int) Math.ceil((double) coachDtoList.size() / queryRequest.getPageSize()):计算总页数,使用 Math.ceil() 方法向上取整,确保能获取到所有数据。

优点:

  • 使用 Stream API 实现分页查询代码简洁,易于理解。
  • 代码可读性高,易于维护。

注意:

  • queryRequest.getPageNum()queryRequest.getPageSize() 分别代表要获取的页码和每页数据量。
  • 该代码示例只展示了基本的分页功能,实际应用中可能需要根据具体需求进行修改。
Java分页查询:使用Stream API实现分页获取教练数据

原文地址: https://www.cveoy.top/t/topic/qhMW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录