龙空技术网

java对list集合进行分页

阿飞狂说 298

前言:

当前小伙伴们对“net20list分页”大概比较重视,看官们都需要剖析一些“net20list分页”的相关资讯。那么小编在网络上收集了一些有关“net20list分页””的相关内容,希望看官们能喜欢,兄弟们快快来了解一下吧!

1、计算页数:

List<User> list = new ArrayList<>();//add... //pageNo表示当前页[1-n],pageSize表示每页大小  //方法一int total = list.size();int pageSum = (total -1) / pageSize +1; //方法二int total = list.size();int pageSum = total%pageSize==0?total/pageSize:total/pageSize+1; //方法三int total = list.size();int pageSum=(total+pageSize-1)/pageSize;  

2、java8 使用stream api进行分页:

List<User> list = new ArrayList<>();//add... //split pageList<User> subList = list.stream().skip((pageNo-1)*pageSize).limit(pageSize).collect(Collectors.toList());

3、普通方法分页:

//subList手动分页,page为第几页,rows为每页个数public static List<T> subList(List<T> list, int page, int rows) throws Exception{    List<T> listSort  = new ArrayList<>();    int size=list.size();    int pageStart=page==1?0:(page-1)*rows;//截取的开始位置    int pageEnd=size<page*rows?size:page*rows;//截取的结束位置    if(size>pageStart){        listSort =list.subList(pageStart, pageEnd);    }    //总页数    int totalPage=list.size()/rows;    return listSort;}

标签: #net20list分页