1. 程式人生 > >Java下List使用subList實現分頁獲取

Java下List使用subList實現分頁獲取

大於 lis size body lan 改變 i++ 文章 http

java.util.List中有一個subList方法,用來返回一個List的一部分的視圖。

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

它返回原來list的從(fromIndex, toIndex)之間這一部分的視圖,之所以說是視圖,是因為實際上,返回的list是靠原來的List支持的。返回一個以fromIndex為起始索引(包含),以toIndex為終止索引(不包含)的子列表(List)。

但值得註意的是,返回的這個子列表的幕後其實還是原列表;也就是說,修改這個子列表,將導致原列表也發生改變;反之亦然。

比如集合中的內容為1,2,3,4,5,list.sublist(2,4)就返回一個子集合,它的內容包括從下標為2到下標為4,而且這是左閉右開的,就是說是從大於等於2到小於4,那子集內容就是3,4(集合的下標都是從0開始)

示例:

        int subSize = 1000;
        int subCount = list.size();
        int subPageTotal = (subCount / subSize) + ((subCount % subSize > 0) ? 1 : 0);
        // 根據頁碼取數據
        for (int i = 0, len = subPageTotal - 1; i <= len; i++) {
            // 分頁計算
            int fromIndex = i * subSize;
            
int toIndex = ((i == len) ? subCount : ((i + 1) * subSize)); List<String> strings = list.subList(fromIndex, toIndex); }

參考:

http://blog.csdn.net/lululove19870526/article/details/46742515(以上部分內容轉自此篇文章)

Java下List使用subList實現分頁獲取