Java Stream的limit和skip方法如何實(shí)現(xiàn)分頁(yè)

小樊
107
2024-08-17 15:48:36

在Java Stream中,可以使用limitskip方法來(lái)實(shí)現(xiàn)分頁(yè)功能。

例如,如果我們有一個(gè)包含10個(gè)元素的Stream,我們可以使用limit方法來(lái)限制返回的元素?cái)?shù)量,并使用skip方法來(lái)跳過(guò)前幾個(gè)元素。

下面是一個(gè)簡(jiǎn)單的例子,演示如何使用limitskip方法來(lái)實(shí)現(xiàn)分頁(yè)功能:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

int pageSize = 3;
int page = 2;

List<Integer> result = numbers.stream()
    .skip(pageSize * (page - 1)) // 跳過(guò)前(page-1)*pageSize個(gè)元素
    .limit(pageSize) // 限制返回的元素?cái)?shù)量為pageSize
    .collect(Collectors.toList());

System.out.println(result); // 輸出: [4, 5, 6]

在上面的例子中,我們將原始的包含10個(gè)元素的Stream通過(guò)skip方法跳過(guò)前3個(gè)元素,然后通過(guò)limit方法限制返回的元素?cái)?shù)量為3,最終得到第二頁(yè)的數(shù)據(jù)[4, 5, 6]。

0