软件编程
位置:首页>> 软件编程>> java编程>> java对list<Object>进行手动分页实现

java对list<Object>进行手动分页实现

作者:枯枫叶  发布时间:2023-01-13 13:41:01 

标签:java,list<Object>,分页

该方法使用的jdk1.6以后自带的分页工具类实现

public static void main(String[] args) {
       ArrayList list = new ArrayList<>();
       list.add("Luo");
       list.add("Tian");
       list.add("yan");
       list.add("23");
       list.add("elegant");
       list.add("optimistic");
       list.add("mysterious");
       System.out.println("分页前数据:"+list);

//分页之后
       PageInfo pageInfo = getPageInfo(2, 2, list);
       System.out.println("总大小:"+pageInfo.getTotal());
       System.out.println("当前页:"+pageInfo.getPageNum());
       System.out.println("当前页大小:"+pageInfo.getPageSize());
       System.out.println("当前页数据:"+pageInfo.getList());
   }

public static <T> PageInfo<T> getPageInfo(int currentPage, int pageSize, List<T> list) {
       int total = list.size();
       if (total > pageSize) {
           int toIndex = pageSize * currentPage;
           if (toIndex > total) {
               toIndex = total;
           }
           int totalPage = total % pageSize == 0 ? (total/pageSize) : (total/pageSize)+1;
           if (totalPage < currentPage){
               list = new ArrayList<>();
           }else {
               list = list.subList(pageSize * (currentPage - 1), toIndex);
           }
       }
       Page<T> page = new Page<>(currentPage, pageSize);
       page.addAll(list);
       page.setPages((total + pageSize - 1) / pageSize);
       page.setTotal(total);
       return new PageInfo<>(page);
   }

效果

java对list<Object>进行手动分页实现

来源:https://blog.csdn.net/gelinwangzi_juge/article/details/123129689

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com