List集合分页工具类

Posted 木木与呆呆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了List集合分页工具类相关的知识,希望对你有一定的参考价值。

1.说明

List集合分页工具类,
可以对内存中的List集合进行分页,
在需要分批返回数据,
或者分批插入数据等场景都很有用,
下面介绍三种开源库提供的分页工具:

  • commons-collections4
  • guava
  • hutool

2.commons-collections4

Uitl类:

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.guava

Uitl类:

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.hutool

Uitl类:

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封装的分页工具类更好用。


以上是关于List集合分页工具类的主要内容,如果未能解决你的问题,请参考以下文章

List集合分页

List集合分页显示

Java内存分页工具类

java 分页工具类

个人常用工具类:分页工具类

通用分页工具类