1. 前言
Java 8 Stream API中的skip()
和limit()
方法具有类似的作用。它们都是对流进行裁剪的中间方法。今天我们来探讨一下这两个方法。
2. skip()
skip(lang n)
是一个跳过前 n
个元素的中间流操作。我们编写一个简单的方法来进行skip
操作,将流剩下的元素打印出来。
public static void skip(long n) {
Stream<Integer> integerStream = Stream.of(1, 2, 3, 4, 5, 6);
integerStream.skip(n).forEach(integer -> System.out.println("integer = " integer));
}
经过测试,当 n < 0
时直接抛出了 IllegalArgumentException
异常。毕竟要跳过一些元素,跟下象棋一个道理不能后退只能向前。当 n=0
时,原封不动完璧归赵。这种操作一般我们不会主动搞,没有意义。当 n=4
时,打印了 5
和 6
,由此可推断当我们取值大于等于流的大小时肯定什么也没有了,对于流来说肯定是个空流。经过检验确实count=0
。
也就是说 skip(long n)
方法跳过前 n
(非负