首页 > 编程技术 > java

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

发布时间:2022-7-26 13:42 作者:枯枫叶

该方法使用的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>手动分页内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!

原文出处:https://blog.csdn.net/gelinwangzi_juge/article/details/12312

标签:[!--infotagslink--]

您可能感兴趣的文章: