List集合如何分页

简介: List集合如何分页(List集合转Page分页)

写在前头

这段时间写了一个小需求,做page页筛选功能,但这个筛选项有两个条件,且是多选,那就不得不用list集合来做处理,再转page
下面的list转page方法,可以直接复制拿来用:
/**

 * 分页函数
 * @author pochettino
 * @param currentPage   当前页数
 * @param pageSize  每一页的数据条数
 * @param list  要进行分页的数据列表
 * @return  当前页要展示的数据
 */
private Page getPages(Integer currentPage, Integer pageSize, List list) {
    Page page = new Page();
    if(list==null){
        return  null;
    }
    int size = list.size();

    if(pageSize > size) {
        pageSize = size;
    }
    if (pageSize!=0){
        // 求出最大页数,防止currentPage越界
        int maxPage = size % pageSize == 0 ? size / pageSize : size / pageSize + 1;

        if(currentPage > maxPage) {
            currentPage = maxPage;
        }
    }
    // 当前页第一条数据的下标
    int curIdx = currentPage > 1 ? (currentPage - 1) * pageSize : 0;

    List pageList = new ArrayList();

    // 将当前页的数据放进pageList
    for(int i = 0; i < pageSize && curIdx + i < size; i++) {
        pageList.add(list.get(curIdx + i));
    }

    page.setCurrent(currentPage).setSize(pageSize).setTotal(list.size()).setRecords(pageList);
    return page;
}
相关文章
|
6天前
|
开发工具 索引
【Azure Blob】操作Blob之分页List Blob一致性、索引时延及Tag支持问题解答
在使用Azure SDK开发时,遇到以下几个问题: 1. 分页list blob是一个一致性事务级的操作吗?在这个过程中,文件的创建、更新、删除会对分页获取的list blob列表产生什么影响? 2. 文档《响应中的标记》中描述索引是最终一致性,这个过程的时延是多久(更新Tag后大概多长时间可以通过FindBlobByTag查询到)? 3. 所有Blob都支持Tag吗?Block Tag使用上有哪些场景限制?
29 14
|
6月前
|
存储 安全 Java
【Java集合类面试二十五】、有哪些线程安全的List?
线程安全的List包括Vector、Collections.SynchronizedList和CopyOnWriteArrayList,其中CopyOnWriteArrayList通过复制底层数组实现写操作,提供了最优的线程安全性能。
|
6月前
|
安全
List集合特有功能
List集合特有功能
54 2
|
6月前
|
Java
【Java集合类面试二十三】、List和Set有什么区别?
List和Set的主要区别在于List是一个有序且允许元素重复的集合,而Set是一个无序且元素不重复的集合。
|
6月前
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
101 4
|
4月前
|
安全 Java 程序员
深入Java集合框架:解密List的Fail-Fast与Fail-Safe机制
本文介绍了 Java 中 List 的遍历和删除操作,重点讨论了快速失败(fail-fast)和安全失败(fail-safe)机制。通过普通 for 循环、迭代器和 foreach 循环的对比,详细解释了各种方法的优缺点及适用场景,特别是在多线程环境下的表现。最后推荐了适合高并发场景的 fail-safe 容器,如 CopyOnWriteArrayList 和 ConcurrentHashMap。
99 5
|
3月前
|
NoSQL Java Redis
List集合按照由小到大排序或者由大到小排序
List集合按照由小到大排序或者由大到小排序
62 0
|
4月前
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
47 3
|
5月前
|
NoSQL Java Redis
List集合按照由小到大排序或者由大到小排序
List集合按照由小到大排序或者由大到小排序
35 3
|
6月前
|
存储 安全 Java
java集合框架复习----(2)List
这篇文章是关于Java集合框架中List集合的详细复习,包括List的特点、常用方法、迭代器的使用,以及ArrayList、Vector和LinkedList三种实现类的比较和泛型在Java中的使用示例。
java集合框架复习----(2)List