首页
学习
活动
专区
圈层
工具
发布

Java 8 Stream Api 中的 skip 和 limit 操作

前言 Java 8 Stream API 中的skip()和limit()方法具有类似的作用。它们都是对流进行裁剪的中间方法。今天我们来探讨一下这两个方法。...2. skip() skip(lang n) 是一个跳过前 n 个元素的中间流操作。我们编写一个简单的方法来进行skip操作,将流剩下的元素打印出来。...当 n=4 时,打印了 5 和 6 ,由此可推断当我们取值大于等于流的大小时肯定什么也没有了,对于流来说肯定是个空流。经过检验确实count=0 。...3. limit() limit(long maxsize) 我们也如法炮制: public static void limit(long maxsize) { Stream<Integer...总结 今天对Java Stream API 的 skip() 和limit()方法进行了探讨。不知道你会想到在什么场景下会分别用到它们呢,不妨留言告诉我。

99231
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如果你使用了这个Stream流操作,升级Java17有可能会出问题。

    在Java 8 中,甚至到Java 16 中执行下面的Stream流操作 Stream.of(1, 2, 3, 4) .skip(1) .limit(2)....peek(System.out::println) .count(); 都会跳过元素1,打印元素2以及3,最终计数为2,我想大家对此应该都没有异议。....filter(e -> e.length() > 3) // 观察正在被长度大于3规则过滤的元素 .peek(e -> System.out.println("Filtered...Stream流的大小在执行跳过操作skip(n)和限制长度操作limit(n)后,流的大小长度是已经预知的,为了获得流的大小没必要去遍历流的元素,跳过了遍历就不能再通过peek()观察元素了。...Brian Goetz 那么JDK给的建议是什么 尽量不使用count(),甚至Stream.collect(Collectors.counting())也少用,如果你想改变元素,根据情况使用map操作或者

    90820
    领券