Java Stream noneMatch()方法详解

后端 潘老师 1年前 (2023-10-28) 172 ℃ (0) 扫码查看

Java Stream的noneMatch()方法是一个短路终端操作。noneMatch()用于检查流中是否包含与提供的断言相匹配的任何元素。

1.Stream noneMatch() 方法

1.1语法

boolean noneMatch(Predicate<? super T> predicate)

noneMatch()返回:

  • true – 表示流中没有元素与给定的断言匹配,或者流为空。
  • false – 表示至少有一个元素与给定的断言匹配。

这里的断言是对流中元素应用的一个非干扰性且无状态的断言。

这是一个短路操作。如果面对无限输入,终端操作可能会在有限时间内终止,那么它就是一个短路操作。

1.2 描述

  • noneMatch()是一个短路终端操作。
  • 它返回流中是否有任何元素与提供的断言匹配。
  • 如果没有必要确定结果,它可能不会对所有元素求值。如果没有流元素与给定断言匹配,则方法返回true,否则返回false。
  • 如果流为空,则返回true,并且断言不会被求值。
  • 这与allMatch()方法几乎相反。

3.Stream noneMatch() 示例

以下是Java中一个noneMatch()方法的示例,用于检查流中是否没有任何元素包含数字/数字字符。

public class Main
{
    public static void main(String[] args)
    {
        Stream<String> stream = Stream.of("one", "two", "three", "four");

        boolean match = stream.noneMatch( s -> s.contains("\\d+") );

        System.out.println(match);    //true
    }
}

4.结论

在某些情况下,我们需要在所有流元素上运行一个检查,Stream.noneMatch()方法可能是有用的。例如,我们可以在Employee对象的流上使用noneMatch()函数来验证所有员工年龄均不低于某个年龄。


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/back/10449.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】