您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(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ò),可以把它分享出去讓更多的人看到。
免責(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)容。