List集合分頁工具類 1.說明 2.commons-collections4 3.guava 4.hutool

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封裝的分頁工具類更好用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章