智慧并不产生于学历,而是来自对于知识的终生不懈的追求。这篇文章主要讲述List集合分页工具类相关的知识,希望能为你提供帮助。
1.说明【List集合分页工具类】List集合分页工具类,
可以对内存中的List集合进行分页,
在需要分批返回数据,
或者分批插入数据等场景都很有用,
下面介绍三种开源库提供的分页工具:
- commons-collections4
- guava
- hutool
org.apache.commons.collections4.ListUtils
Pom依赖:
< dependency>
< groupId> org.apache.commons< /groupId>
< artifactId> commons-collections4< /artifactId>
< version> 4.4< /version>
< /dependency>
Demo代码:
package org.apache.commons.collections4;
import java.util.Arrays;
import java.util.List;
public class ListUtilsDemo
public static void main(String[] args)
List< String> list = Arrays.asList("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11");
// list进行分页
partitionList(list);
/**
* 使用guava工具对list进行拆分分页
*/
private static void partitionList(List< String> list)
// 分页拆分集合,每页大小为5条记录
List< List< String> > pageList = ListUtils.partition(list, 5);
// 循环打印看看
pageList.forEach(System.out::println);
3.guavaUitl类:
com.google.common.collect.Lists
Pom依赖:
< dependency>
< groupId> com.google.guava< /groupId>
< artifactId> guava< /artifactId>
< version> 30.1-jre< /version>
< /dependency>
Demo代码:
package com.google.common.collect;
import java.util.List;
public class ListsDemo
public static void main(String[] args)
List< String> list = Lists.newArrayList("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11");
// guava工具对list进行拆分
partitionList(list);
/**
* 使用guava工具对list进行拆分分页
*/
private static void partitionList(List< String> list)
// 分页拆分集合,每页大小为5条记录
List< List< String> > pageList = Lists.partition(list, 5);
// 循环打印看看
pageList.forEach(System.out::println);
4.hutoolUitl类:
cn.hutool.core.collection.ListUtil
Pom依赖:
< dependency>
< groupId> cn.hutool< /groupId>
< artifactId> hutool-all< /artifactId>
< version> 5.7.16< /version>
< /dependency>
Demo代码:
package cn.hutool.core.collection;
import java.util.Arrays;
import java.util.List;
public class ListUtilDemo
public static void main(String[] args)
pageStringList();
// 字符串排序后分页
public static void pageStringList()
String[] strs ="1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11" ;
List< String> list = Arrays.asList(strs);
// ListUtil.sort(list, (a, b) -> a.compareTo(b));
ListUtil.sort(list, String::compareTo);
// 返回第0页,每页大小为5条数据
int pageNo = 0;
int pageSize = 5;
List< String> results = ListUtil.page(pageNo, pageSize, list);
System.out.println(results);
相对来说,
hutool的ListUtil封装的分页工具类更好用。
推荐阅读
- 银行布局元宇宙(数字藏品数字员工成主赛道)
- GitLab CI/CD中的常用预设变量
- Linux shell 脚本时间差耗时计算
- Gitlab Prometheus 磁盘空间占用
- Linux vim 纵向编辑
- spring4.1.8扩展实战之六(注册bean到spring容器(BeanDefinitionRegistryPostProcessor接口))
- rsync 错误 failed: Permission denied (13)
- #云原生征文#深入RCRSDaemonSetStatefulSet
- 基于armlinux的shell之文件路径截取