在Java Stream中,可以使用limit
和skip
方法來(lái)實(shí)現(xiàn)分頁(yè)功能。
例如,如果我們有一個(gè)包含10個(gè)元素的Stream,我們可以使用limit
方法來(lái)限制返回的元素?cái)?shù)量,并使用skip
方法來(lái)跳過(guò)前幾個(gè)元素。
下面是一個(gè)簡(jiǎn)單的例子,演示如何使用limit
和skip
方法來(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]。