栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java 对ArrayList进行分页实例代码

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java 对ArrayList进行分页实例代码

java 对ArrayList进行分页

概述

系统与系统之间的交互,通常是使用接口的形式。假设B系统提供了一个批量的查询接口,限制每次只能查询50条数据,而我们实际需要查询500条数据,这个时候可以对这500条数据做分批操作,分10次调用B系统的批量接口。

如果B系统的查询接口是使用List作为入参,那么要实现分批调用的话,可以利用ArrayList的subList方法来处理。

代码

sublist方法的定义:

  List subList(int fromIndex, int toIndex);

只需要准确的算出fromIndex和 toIndex即可。

数据准备

public class TestArrayList {

  public static void main(String[] args) {
    List datas = Arrays.asList(new Long [] {1L,2L,3L,4L,5L,6L,7L});
  }
}

分页算法

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

public class TestArrayList {

  private static final Integer PAGE_SIZE = 3;
  public static void main(String[] args) {
    List datas = Arrays.asList(new Long [] {1L,2L,3L,4L,5L,6L,7L,8L});

    //总记录数
    Integer totalCount = datas.size();

    //分多少次处理
    Integer requestCount = totalCount / PAGE_SIZE;

    for (int i = 0; i <= requestCount; i++) {
      Integer fromIndex = i * PAGE_SIZE;
      //如果总数少于PAGE_SIZE,为了防止数组越界,toIndex直接使用totalCount即可
      int toIndex = Math.min(totalCount, (i + 1) * PAGE_SIZE);
      List subList = datas.subList(fromIndex, toIndex);
      System.out.println(subList);
      //总数不到一页或者刚好等于一页的时候,只需要处理一次就可以退出for循环了
      if (toIndex == totalCount) {
 break;
      }
    }

  }
}

测试场景

1、总数不足一页
2、总数刚好等于一页
3、总数多余一页

上面三个case都可以正常通过。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/147671.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号