java8 Stream分页

基于Stream的分页

@Test
public void contextLoads() {

    List list=new ArrayList(Arrays.asList(1,2,3,4,5,6,7,8,9,10));
    Integer pageSize=4;
    Integer pageNum=1;
    filterByPage(list,pageNum,pageSize).forEach(System.out::print);
}

public static List filterByPage(List list, Integer pageNum, Integer pageSize) {
    Object collect = list.stream().skip(pageSize*(pageNum-1)).limit(pageSize).collect(Collectors.toList());
    return (List) collect;
}

条件:id>3
public static List filterByPage1(List list,Integer pageNum, Integer pageSize) {

    List collect = list.stream().filter(num -> num.getId() > 3).skip(pageSize).limit(pageSize * (pageNum - 1)).collect(Collectors.toList());
    return collect;
}

你可能感兴趣的:(Java)