Stream skip(n) 方法用于从给定 Stream 中跳过第一个 'n'
元素。
skip()
方法返回一个新的 Stream,它包含原始 Stream 的剩余元素,在指定的 n
元素被丢弃之后在相遇顺序。
Stream<T> skip(long n)
n
是要丢弃的前导元素的数量。它返回一个新的 Stream,其中包含从原始流中选取的元素。
如果 n
为负,该方法可能会抛出 IllegalArgumentException。
skip()
是一个开销很小的操作,它在有序的并行管道上可能会非常昂贵,尤其是对于较大的 n 值。generate(Supplier)
)或使用 BaseStream.unordered()
移除排序约束可能会导致 $$$ 的显着加速
在并行管道中。skip()
跳过遇到顺序中的前 n 个元素。在这个 Java 程序中,我们使用 skip()
方法从无限偶数流中跳过前 5 个偶数,然后将接下来的 10 个偶数收集到一个新的流中。
Stream<Integer> evenNumInfiniteStream = Stream.iterate(0, n -> n + 2);
List<Integer> newList = evenNumInfiniteStream
.skip(5)
.limit(10)
.collect(Collectors.toList());
System.out.println(newList);
程序输出。
[10, 12, 14, 16, 18, 20, 22, 24, 26, 28]
Stream skip() 方法在我们需要从 Stream 中获取元素的某些情况下很有用,但首先,我们需要从 Stream 中跳过一些元素。
事实上,skip()
以遇到的顺序返回元素,这使得它对于正常的业务用例也非常有用。
快乐学习!!
地址:https://www.cundage.com/article/stream-skip-example.html