Java 自定義 List<T> 分頁工具

这篇具有很好参考价值的文章主要介绍了Java 自定義 List<T> 分頁工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Java 自定義 List<T> 分頁工具,Java,JavaWeb,java,list,工具类

Java 自定義 List 分頁工具

PS: T可修改为对应的实体

rt com.google.common.collect.Lists;

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

/**
 * @ClassName: MyPageHelper
 * @Descripution: List<T>分頁工具
 **/
public class MyPageHelper<T> {

    public List<T> splitList(List<T> list, int page, int pageSize) {
        if (page <= 0) {
            throw new IllegalArgumentException("MyPageHelper error: page number cannot be less than or equal to zero");
        }

        if (pageSize <= 0) {
            throw new IllegalArgumentException("MyPageHelper error: page size cannot be less than or equal to zero");
        }

        int fromIndex = (page - 1) * pageSize;
        if (fromIndex >= list.size()) {
            return Collections.emptyList();
        }

        int toIndex = fromIndex + pageSize;
        if (toIndex > list.size()) {
            toIndex = list.size();
        }

        List<List<T>> partition = Lists.partition(list.subList(fromIndex, toIndex), pageSize);

        return partition.isEmpty() ? null : partition.get(0);
    }
    
    // 測試
    public static void main(String[] args) {
        // 使用方法
        MyPageHelper<Integer> paginationHelper = new MyPageHelper<>();
        List<Integer> fullList = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
        int page = 3; // 第二頁
        int pageSize = 4; // 每頁3條記錄
        List<Integer> pages = paginationHelper.splitList(fullList, page, pageSize);
        System.out.println(pages);
    }

设置 显示第三页数据,数据条数为4

int page = 3; //3int pageSize = 4; // 每頁4條記錄

执行结果:

[9, 10]

END文章来源地址https://www.toymoban.com/news/detail-849769.html

到了这里,关于Java 自定義 List<T> 分頁工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java:List转换List

    我们经常会遇到泛型转换泛型的时候,今天我们就介绍下使用java1.8和普通转换,其中测试数据自行添加 一、 ListObject  转  ListString 二、 ListObject  转  ListObject   三、 ListObject1  转  ListObject2 四、 ListObject1  转  ListObject2(普通转换)

    2024年01月16日
    浏览(47)
  • java中多个list怎么用List表示?

    如果你有多个 List 对象,想要将它们合并成一个 List 对象,可以使用 addAll() 方法来实现。 addAll() 方法将会把一个 List 中的元素逐个添加到另一个 List 中。 以下是一个示例,展示了如何将多个 List 对象合并为一个 List 对象: import java.util.ArrayList; import java.util.List; public class M

    2024年02月11日
    浏览(41)
  • java中,将List<Map>转为List<实体>或者List<实体>转为List<Map>

    1、ListMap转List实体  2、List实体转ListMap

    2024年01月24日
    浏览(50)
  • java 判断两个List是否包含 判断两个list相等

    java 判断两个List是否包含 判断两个list相等 https://blog.51cto.com/u_12855/7333853 1、直接使用equals()比较 众所周知,两个列表具有完全相同的元素并且具有完全相同的顺序时,它们是相等的。因此, 如果我们业务要求两个list顺序一致,可以使用equals()方法进行相等性检查: 即使

    2024年02月04日
    浏览(60)
  • Java8 List<Object> 转成 List<JSONObject>

       Java8 List<Object> 转成 List<Map<String, Object>>

    2024年02月16日
    浏览(38)
  • 【Java 基础篇】Java List 详解

    在Java的集合框架中, List 接口是一个有序、可重复的集合,它扩展了 Collection 接口,并提供了一系列操作和方法来处理元素列表。本文将详细介绍Java中的 List 接口及其常见实现类,包括 ArrayList 、 LinkedList 和 Vector ,并提供一些示例代码。 List 接口继承自 Collection 接口,并添

    2024年02月11日
    浏览(34)
  • 【Java List与数组】List<T>数组和数组List<T>的区别(124)

    List数组 :存储List的数组,即:数组中的元素是:List; 数组List :存储数组的List,即:List中的数据是类型的数组; 测试案例: 测试输出:

    2024年02月11日
    浏览(41)
  • 【Java List与对象】List<T>对象和对象List<T>的区别(125)

    List<T>对象 :对象里面的元素属性包含List<T>(只有一个对象); 对象List<T> :List<T>里面的数据是对象类型(可以有多组对象,但必须是同一个类型); 测试案例: Book类: Student类: 测试Demo : ( 重点 ) 测试输出 :

    2024年02月11日
    浏览(31)
  • Java中 Map转List 、 List转Map 简单好用

    输出: 输出: 所以说这两个方法的区别就是在 new ArrayList 时选择使用 map.values() 还是 map.keySet() 输出: 要特别注意里面的 (v1, v2) - v1) 必须带上。如果你的key里重复的时候没这句话会异常: java.lang.IllegalStateException: Duplicate key 0 (v1, v2) - v1 表示当出现重复的键时,选择保留原始

    2024年02月16日
    浏览(44)
  • Java 8 List 排序

    目录 一、List 排序的基本方法 二、List 按单个字段排序 三、List 按多个字段排序 四、List 按字段倒序排序 五、List 按字段排序并去重 六、List 按字段排序并分组 七、List 按字段排序并统计数量 八、总结 在 Java 8 中,我们可以使用 lambda 表达式和 Stream API 来对 List 进行排序。本

    2024年02月09日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包