基于内存分页(二)

一、逻辑


PageVO pageVO = new PageVO<>();
pageVO.setPage(spareDTO.getPage());
pageVO.setLimit(spareDTO.getLimit());

pageVO.setCount(fuzzySearchList.size());
List list = (List) com.siact.product.jwp.common.utils.CollectionUtils.handlePagination(fuzzySearchList, spareDTO.getPage(), spareDTO.getLimit());

pageVO.setDataList(list)

二、工具

    /**
     * 分页处理
     *
     * @param list  数据列表
     * @param page  当前页
     * @param limit 一页记录数
     */
    public static List handlePagination(List list, int page, int limit) {
        int size = list.size();
        PageRequest pageRequest = PageRequest.of(page - 1, limit);
        int fromIndex = pageRequest.getPageSize() * pageRequest.getPageNumber();
        int toIndex = pageRequest.getPageSize() * (pageRequest.getPageNumber() + 1);
        if (toIndex > size) {
            toIndex = size;
        }
        return list.subList(fromIndex, toIndex);
    }

你可能感兴趣的:(java)