欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

对list进行分页

程序员文章站 2024-01-20 22:05:58
...
import java.util.ArrayList;
import java.util.List;
import org.springframework.util.CollectionUtils;

public class ListPagingUtil {

  /**
   * @param list 进行分页的list
   * @param pageNo 页码
   * @param pageSize 每页显示条数
   * @return 分页后数据
   */
  public static <T> List<T> listPaging(List<T> list, Integer pageNo, Integer pageSize) {
    if(CollectionUtils.isEmpty(list)) {
      list = new ArrayList<T>();
    }
    if(pageNo == null) {
      pageNo = 1;
    }
    if(pageSize == null) {
      pageSize = 10;     // 默认每页数据量
    }
    if(pageNo <= 0) {
      pageNo = 1;
    }

    int totalitems = list.size();
    List<T> pagingList = new ArrayList<T>();

    int totalNum = ((pageNo - 1) * pageSize) + pageSize > totalitems ? totalitems : ((pageNo - 1) * pageSize) + pageSize;
    for(int i = (pageNo - 1) * pageSize; i < totalNum; i++) {
      pagingList.add(list.get(i));
    }
    return pagingList;
  }

}