在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中文网其他相关文章!