java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java list<Object>手动分页

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

作者:枯枫叶

本文主要介绍了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>进行手动分页实现的文章就介绍到这了,更多相关java list<Object>手动分页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文