一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - java分頁(yè)之假分頁(yè)實(shí)現(xiàn)簡(jiǎn)單的分頁(yè)器

java分頁(yè)之假分頁(yè)實(shí)現(xiàn)簡(jiǎn)單的分頁(yè)器

2020-04-21 11:41三千分之一的愛(ài) JAVA教程

這篇文章主要介紹了java分頁(yè)之假分頁(yè)實(shí)現(xiàn)簡(jiǎn)單的分頁(yè)器的相關(guān)資料,需要的朋友可以參考下

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

import java.util.Arrays;

import java.util.Collections;

import java.util.List;

 

/**

 * @author shuang.gao Date: 2016/1/28 Time: 12:26

 */

public class Pager<T> {

 

  /**

   * 每頁(yè)顯示條數(shù)

   */

  private int pageSize;

  /**

   * 原集合

   */

  private List<T> data;

 

  private Pager(List<T> data, int pageSize) {

    if (data == null || data.isEmpty()) {

      throw new IllegalArgumentException("data must be not empty!");

    }

 

    this.data = data;

    this.pageSize = pageSize;

  }

 

  /**

   * 創(chuàng)建分頁(yè)器

   *

   * @param data 需要分頁(yè)的數(shù)據(jù)

   * @param pageSize 每頁(yè)顯示條數(shù)

   * @param <T> 業(yè)務(wù)對(duì)象

   * @return 分頁(yè)器

   */

  public static <T> Pager<T> create(List<T> data, int pageSize) {

    return new Pager<>(data, pageSize);

  }

 

  /**

   * 得到分頁(yè)后的數(shù)據(jù)

   *

   * @param pageNum 頁(yè)碼

   * @return 分頁(yè)后結(jié)果

   */

  public List<T> getPagedList(int pageNum) {

    int fromIndex = (pageNum - 1) * pageSize;

    if (fromIndex >= data.size()) {

      return Collections.emptyList();

    }

 

    int toIndex = pageNum * pageSize;

    if (toIndex >= data.size()) {

      toIndex = data.size();

    }

    return data.subList(fromIndex, toIndex);

  }

 

  public int getPageSize() {

    return pageSize;

  }

 

  public List<T> getData() {

    return data;

  }

 

  public static void main(String[] args) {

    Integer[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};

    List<Integer> list = Arrays.asList(array);

 

    Pager<Integer> pager = Pager.create(list, 10);

 

    List<Integer> page1 = pager.getPagedList(1);

    System.out.println(page1);

 

    List<Integer> page2 = pager.getPagedList(2);

    System.out.println(page2);

 

    List<Integer> page3 = pager.getPagedList(3);

    System.out.println(page3);

  }

}

假分頁(yè),顧名思義,不是真正的在數(shù)據(jù)庫(kù)里進(jìn)行過(guò)濾,而是從數(shù)據(jù)庫(kù)查詢之后,取得全部結(jié)果,在展現(xiàn)的時(shí)候做些手腳。
import java.util.Arrays; 
import java.util.Collections; 
import java.util.List; 
 
/**
 * @author shuang.gao  Date: 2016/1/28 Time: 12:26
 */ 
public class Pager<T> { 
 
    /**
     * 每頁(yè)顯示條數(shù)
     */ 
    private int pageSize; 
    /**
     * 原集合
     */ 
    private List<T> data; 
 
    private Pager(List<T> data, int pageSize) { 
        if (data == null || data.isEmpty()) { 
            throw new IllegalArgumentException("data must be not empty!"); 
        } 
 
        this.data = data; 
        this.pageSize = pageSize; 
    } 
 
    /**
     * 創(chuàng)建分頁(yè)器
     *
     * @param data 需要分頁(yè)的數(shù)據(jù)
     * @param pageSize 每頁(yè)顯示條數(shù)
     * @param <T> 業(yè)務(wù)對(duì)象
     * @return 分頁(yè)器
     */ 
    public static <T> Pager<T> create(List<T> data, int pageSize) { 
        return new Pager<>(data, pageSize); 
    } 
 
    /**
     * 得到分頁(yè)后的數(shù)據(jù)
     *
     * @param pageNum 頁(yè)碼
     * @return 分頁(yè)后結(jié)果
     */ 
    public List<T> getPagedList(int pageNum) { 
        int fromIndex = (pageNum - 1) * pageSize; 
        if (fromIndex >= data.size()) { 
            return Collections.emptyList(); 
        } 
 
        int toIndex = pageNum * pageSize; 
        if (toIndex >= data.size()) { 
            toIndex = data.size(); 
        } 
        return data.subList(fromIndex, toIndex); 
    } 
 
    public int getPageSize() { 
        return pageSize; 
    } 
 
    public List<T> getData() { 
        return data; 
    } 
 
    public static void main(String[] args) { 
        Integer[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; 
        List<Integer> list = Arrays.asList(array); 
 
        Pager<Integer> pager = Pager.create(list, 10); 
 
        List<Integer> page1 = pager.getPagedList(1); 
        System.out.println(page1); 
 
        List<Integer> page2 = pager.getPagedList(2); 
        System.out.println(page2); 
 
        List<Integer> page3 = pager.getPagedList(3); 
        System.out.println(page3); 
    } 

這是一個(gè)簡(jiǎn)單的分頁(yè)器,原理很簡(jiǎn)單,將從數(shù)據(jù)庫(kù)查詢的數(shù)據(jù),傳入到分頁(yè)器里,返回的是分好頁(yè)的集合。
優(yōu)點(diǎn)是兼容所有JDBC數(shù)據(jù)庫(kù),缺點(diǎn)是這種方法不適用于大批量數(shù)據(jù)。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 九九热国产视频 | 日本精工厂网址 | 日韩美一区二区三区 | 青青草国产一区二区三区 | 爱情岛论坛自拍永久入口 | 四虎影院精品在线观看 | 国产东北三老头伦一肥婆 | 日本精品一区二区在线播放 | 四虎永久在线精品免费影视 | kkkk4444在线看片| 沉香如屑西瓜视频免费观看完整版 | 日本最新伦中文字幕 | 韩国黄色网址 | 精品欧美小视频在线观看 | 久久精品热在线观看85 | 亚洲国产精品日韩高清秒播 | 国产精品久久久久久久午夜片 | 出a级黑粗大硬长爽猛视频 吃胸膜奶视频456 | dyav午夜片 | 国产国语videosex另类 | 5x社区发源地最新地址 | 情侣宾馆愉拍自拍视频 | 国产在线精品香蕉综合网一区 | 亚洲第一se情网站 | 亚洲国产剧情中文视频在线 | 91九色丨porny丨制服 | 无码任你躁久久久久久久 | 精品一区二区三区波多野结衣 | 日韩福利一区 | 国产99在线观看 | 久久热国产在线视频 | 国内精品福利丝袜视频_速 国内精品91久久久久 | 2022最新国产在线不卡a | 国产乱码一卡二卡3卡四卡 国产乱插 | 亚洲精品国产成人99久久 | 高清国产在线 | 青草草视频在线观看 | 超碰97| 男人的天堂欧美 | 问一问免费咨询 | 国产欧美另类久久精品91 |