微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – Stream的SKIP方法可以使无限流有限吗?

“limit()和skip()方法使Stream变小.它们可以使有限流变小,或者它们可以从无限流中产生有限流.方法签名如下所示:

Stream<T> limit(int maxSize)
Stream<T> skip(int n)

以下代码c ….“

以上是OCP java 8书的摘录.当它说“可以从无限流中产生有限的流”时,它们是在一起还是单独表示它们?我可以想象limit()会如何使无限流变小,但是skip()单独如何实现呢?有没有办法或文件中的措辞需要更清晰?

解决方法

“可以使无限流中的有限流”仅适用于limit(),而不是skip().

跳过就像从海洋里取一杯水,想知道“海洋中剩下多少水?”,而限制就像是从它那里取出同样的水,想知道“我从海洋中取出了多少水? “

如果流是无限的,那么跳过一些元素仍然会给你带来无限的流……

Stream.iterate(0L,i -> i + 1).skip(100).forEach(System.out::println);

理论上这将永远运行.所以很有可能只是一个小小的不准确性,逃过了本书的评论者.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐