Java中 count,anyMatch,allMatch,noneMatch函数的定义:
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连接elasticsearch查询时间范围报错:elasticsearch exception [type=search_phase_execution_exception......
什么是 Java 程序的主类?应用程序和小程序的主类有何不同?
更多相关阅读请进入《Java》频道 >>
深入理解Java虚拟机 JVM高级特性与实践 周志明 第3版
这是一部从工作原理和工程实践两个维度深入剖析JVM的著作,是计算机领域公认的经典。