List集合分页工具类

1.说明

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

  • commons-collections4
  • guava
  • hutool

2.commons-collections4

Uitl类:

org.apache.commons.collections4.ListUtils

Pom依赖:


    org.apache.commons
    commons-collections4
    4.4

Demo代码:

package org.apache.commons.collections4;

import java.util.Arrays;
import java.util.List;

public class ListUtilsDemo {
    public static void main(String[] args) {
        List list = Arrays.asList("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11");
        // list进行分页
        partitionList(list);
    }

    /**
     * 使用guava工具对list进行拆分分页
     */
    private static void partitionList(List list) {
        // 分页拆分集合,每页大小为5条记录
        List> pageList = ListUtils.partition(list, 5);
        // 循环打印看看
        pageList.forEach(System.out::println);
    }
}

3.guava

Uitl类:

com.google.common.collect.Lists

Pom依赖:


    com.google.guava
    guava
    30.1-jre

Demo代码:

package com.google.common.collect;

import java.util.List;

public class ListsDemo {

    public static void main(String[] args) {
        List 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 list) {
        // 分页拆分集合,每页大小为5条记录
        List> pageList = Lists.partition(list, 5);
        // 循环打印看看
        pageList.forEach(System.out::println);
    }
}

4.hutool

Uitl类:

cn.hutool.core.collection.ListUtil

Pom依赖:


    cn.hutool
    hutool-all
    5.7.16

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 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 results = ListUtil.page(pageNo, pageSize, list);
        System.out.println(results);
    }
}

相对来说,
hutool的ListUtil封装的分页工具类更好用。

你可能感兴趣的:(java,linq,postman,散列表,eureka)