在Java 8中,Stream API提供了limit()和skip()方法來控制流中元素的數量。
limit(n):將流限制為前 n 個元素。
skip(n):跳過前 n 個元素並處理其餘元素。
這是一個示範兩者的範例:
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class StreamLimitSkipExample { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); // Using limit() to get the first 5 elements List<Integer> limitedList = numbers.stream() .limit(5) .collect(Collectors.toList()); System.out.println("First 5 elements: " + limitedList); // Using skip() to skip the first 5 elements and get the rest List<Integer> skippedList = numbers.stream() .skip(5) .collect(Collectors.toList()); System.out.println("After skipping first 5 elements: " + skippedList); // Combining skip() and limit() to get elements from 4th to 7th positions List<Integer> limitedAndSkippedList = numbers.stream() .skip(3) // skip first 3 elements (index starts at 0) .limit(4) // then take the next 4 elements .collect(Collectors.toList()); System.out.println("Elements from 4th to 7th positions: " + limitedAndSkippedList); } }
說明:
使用 limit(5):這將流限制為前 5 個元素,結果是 [1, 2, 3, 4, 5]。
使用skip(5):這會跳過前5個元素並收集其餘元素,從而得到[6, 7, 8, 9, 10]。
結合skip(3)和limit(4):首先,它跳過前3個元素,然後限製到接下來的4個,從而得到位置4到7的元素:[4,5,6,7 ]。
輸出:
First 5 elements: [1, 2, 3, 4, 5] After skipping first 5 elements: [6, 7, 8, 9, 10] Elements from 4th to 7th positions: [4, 5, 6, 7]
此方法對於處理分頁或提取集合中的特定範圍非常有用。
以上是Java Stream API limit() 與skip() 方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!