Java stream接口操作 count,anyMatch,allMatch,noneMatch


Java中 countanyMatchallMatchnoneMatch函数的定义:

    long count();  
  
    boolean anyMatch(Predicate<? super T> predicate);  
  
    boolean allMatch(Predicate<? super T> predicate);  
  
    boolean noneMatch(Predicate<? super T> predicate);

count方法,跟List接口的size一样,返回的都是这个集合流的元素的长度,不同的是,流是集合的一个高级工厂,中间操作是工厂里的每一道工序,我们对这个流操作完成后,可以进行元素的数量的和。

anyMatch表示,判断的条件里,任意一个元素成功,返回true。

allMatch表示,判断条件里的元素,所有的都是,返回true。

noneMatch跟allMatch相反,判断条件里的元素,所有的都不是,返回true。

例子:

        List<String> strs = Arrays.asList("a", "a", "a", "a", "b");
        boolean aa = strs.stream().anyMatch(str -> str.equals("a"));
        boolean bb = strs.stream().allMatch(str -> str.equals("a"));
        boolean cc = strs.stream().noneMatch(str -> str.equals("a"));
        long count = strs.stream().filter(str -> str.equals("a")).count();
        System.out.println(aa);// TRUE
        System.out.println(bb);// FALSE
        System.out.println(cc);// FALSE
        System.out.println(count);// 4

相关阅读 >>

Java 中获取用键盘输入常用的两种方法

Java 中的 io 流

Java中使用lambda表达式检查list集合是否存在某个值

Java中为什么不要在 foreach 循环里进行元素的 remove/add 操作

Java中jsoup解析爬虫获取的页面html数据,轻松实现一个爬虫

Java 中 string 和 int 类型的互相转化

Java bigdecimal 加减乘除运算

Java 和 c++ 的区别 ?

面向对象和面向过程的区别

线程有哪些基本状态?

更多相关阅读请进入《Java》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...