package com.csdn;
import lombok.Data;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@Data
public class Page<T> {
private Integer pageNo = 1;
private Integer pageSize = 10;
private long total = 0L;
private int pageCount = 0;
private List<T> results;
public Page(Integer pageNo, Integer pageSize, List<T> results) {
pageNo = Objects.isNull(pageNo) ? this.pageNo : pageNo;
pageSize = Objects.isNull(pageSize) ? this.pageSize : pageSize;
List<T> collect = results.stream().skip(pageSize * (pageNo - 1)).limit(pageSize).collect(Collectors.toList());
this.results = CollectionUtils.isEmpty(results) ? Collections.emptyList() : collect;
this.pageNo = pageNo;
this.pageSize = pageSize;
this.pageCount = CollectionUtils.isEmpty(results) ? this.pageCount : ((results.size() - 1) / (pageSize + 1));
this.total = CollectionUtils.isEmpty(results) ? this.total : results.size();
}
public int getPageCount() {
Long totalCount = this.total;
Double pages = Math.ceil(totalCount.doubleValue() / (double) pageSize);
this.pageCount = pages.intValue();
return this.pageCount;
}
}
自定义list使用jdk分页
于 2022-10-22 19:11:22 首次发布