激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

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

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

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

這篇文章主要介紹了java分頁之假分頁實(shí)現(xiàn)簡(jiǎn)單的分頁器的相關(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> {

 

  /**

   * 每頁顯示條數(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)建分頁器

   *

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

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

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

   * @return 分頁器

   */

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

    return new Pager<>(data, pageSize);

  }

 

  /**

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

   *

   * @param pageNum 頁碼

   * @return 分頁后結(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);

  }

}

假分頁,顧名思義,不是真正的在數(shù)據(jù)庫里進(jìn)行過濾,而是從數(shù)據(jù)庫查詢之后,取得全部結(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> { 
 
    /**
     * 每頁顯示條數(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)建分頁器
     *
     * @param data 需要分頁的數(shù)據(jù)
     * @param pageSize 每頁顯示條數(shù)
     * @param <T> 業(yè)務(wù)對(duì)象
     * @return 分頁器
     */ 
    public static <T> Pager<T> create(List<T> data, int pageSize) { 
        return new Pager<>(data, pageSize); 
    } 
 
    /**
     * 得到分頁后的數(shù)據(jù)
     *
     * @param pageNum 頁碼
     * @return 分頁后結(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)單的分頁器,原理很簡(jiǎn)單,將從數(shù)據(jù)庫查詢的數(shù)據(jù),傳入到分頁器里,返回的是分好頁的集合。
優(yōu)點(diǎn)是兼容所有JDBC數(shù)據(jù)庫,缺點(diǎn)是這種方法不適用于大批量數(shù)據(jù)。

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精品日韩色噜噜久久五月 | 九九精品影院 | 草草视频在线播放 | 天天躁狠狠躁夜躁2020挡不住 | 99精品电影 | 久久久国产精品免费观看 | 国产成人精品区 | 久久精品首页 | 久久久久久免费免费 | 青青操精品 | 九九热这里只有精品8 | 国产精品一区二区三区在线看 | 在线免费小视频 | 国产精品男女 | 国产人成免费爽爽爽视频 | 久久久久久中文字幕 | 爱操在线| 久久久婷婷一区二区三区不卡 | 毛片视频免费观看 | 黄色免费高清网站 | 圆产精品久久久久久久久久久 | 男女无遮挡羞羞视频 | 黄色免费不卡视频 | 91www成人久久| 中午字幕无线码一区2020 | 中国女警察一级毛片视频 | 蜜桃成品人免费视频 | 黄色av一区二区三区 | 美国av在线免费观看 | 欧美交在线| 国产片91 | 午夜精品久久久久久中宇 | 欧美一二区视频 | 黄色免费在线网站 | 欧美成人高清视频 | 欧美一级不卡视频 | 久久精品日产高清版的功能介绍 | 精品亚洲二区 | 亚洲电影免费观看国语版 | 在线播放黄色片 | 最新毛片在线观看 |