package com.jg.common.utils;

import java.util.List;
import java.util.stream.Collectors;

/**
 * @author wyd
 */
public class ListPage {



    /**
     * 利用java8的stream对list进行分页
     * @param list 需要分页的list，一般为全量
     * @param pageNum 当前页
     * @param pageSize 每页大小
     * @param <E> 元素
     * @return list
     */
    public static <E> List<E> getLimitList(List<E> list, Integer pageNum, Integer pageSize) {
        if (list == null || list.size() <= 0) {
            return list;
        }
        if (pageNum == null || pageNum < 1) {
            pageNum = 1;
        }
        if (pageSize == null || pageSize < 0) {
            pageSize = 10;
        }

        return list.stream().skip((pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
    }
}
