溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用java實(shí)現(xiàn)對ArrayList分頁

發(fā)布時(shí)間:2020-11-10 15:41:10 來源:億速云 閱讀:700 作者:Leah 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)如何使用java實(shí)現(xiàn)對ArrayList分頁,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識(shí)有一定的了解。

java 對ArrayList進(jìn)行分頁

概述

系統(tǒng)與系統(tǒng)之間的交互,通常是使用接口的形式。假設(shè)B系統(tǒng)提供了一個(gè)批量的查詢接口,限制每次只能查詢50條數(shù)據(jù),而我們實(shí)際需要查詢500條數(shù)據(jù),這個(gè)時(shí)候可以對這500條數(shù)據(jù)做分批操作,分10次調(diào)用B系統(tǒng)的批量接口。

如果B系統(tǒng)的查詢接口是使用List作為入?yún)?,那么要?shí)現(xiàn)分批調(diào)用的話,可以利用ArrayList的subList方法來處理。

代碼

sublist方法的定義:

  List<E> subList(int fromIndex, int toIndex);

只需要準(zhǔn)確的算出fromIndex和 toIndex即可。

數(shù)據(jù)準(zhǔn)備

public class TestArrayList {

  public static void main(String[] args) {
    List<Long> 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<Long> datas = Arrays.asList(new Long [] {1L,2L,3L,4L,5L,6L,7L,8L});

    //總記錄數(shù)
    Integer totalCount = datas.size();

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

    for (int i = 0; i <= requestCount; i++) {
      Integer fromIndex = i * PAGE_SIZE;
      //如果總數(shù)少于PAGE_SIZE,為了防止數(shù)組越界,toIndex直接使用totalCount即可
      int toIndex = Math.min(totalCount, (i + 1) * PAGE_SIZE);
      List<Long> subList = datas.subList(fromIndex, toIndex);
      System.out.println(subList);
      //總數(shù)不到一頁或者剛好等于一頁的時(shí)候,只需要處理一次就可以退出for循環(huán)了
      if (toIndex == totalCount) {
        break;
      }
    }

  }
}

關(guān)于如何使用java實(shí)現(xiàn)對ArrayList分頁就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI