一、allMatch 函数
二、anyMatch 函数
三、其它函数学习
四、实战
> 执行结果
一、allMatch 函数
-
检查是否 匹配所有元素,返回 true
二、anyMatch 函数
-
检查是否 至少匹配一个元素,返回 true
三、其它函数学习
-
看源码 + 入参,返回值 学习
-
如 noneMatch
/**
* Returns whether no elements of this stream match the provided predicate.
* May not evaluate the predicate on all elements if not necessary for
* determining the result. If the stream is empty then {@code true} is
* returned and the predicate is not evaluated.
*
* <p>This is a <a href="package-summary.html#StreamOps">short-circuiting
* terminal operation</a>.
*
* @apiNote
* This method evaluates the <em>universal quantification</em> of the
* negated predicate over the elements of the stream (for all x ~P(x)). If
* the stream is empty, the quantification is said to be vacuously satisfied
* and is always {@code true}, regardless of P(x).
*
* @param predicate a <a href="package-summary.html#NonInterference">non-interfering</a>,
* <a href="package-summary.html#Statelessness">stateless</a>
* predicate to apply to elements of this stream
* @return {@code true} if either no elements of the stream match the
* provided predicate or the stream is empty, otherwise {@code false}
*/
boolean noneMatch(Predicate<? super T> predicate);
四、实战
import java.util.Arrays;
import java.util.List;
public class MatchDemo {
public static void main(String[] args) {
List<String> list = Arrays.asList("Spring Boot", "Python", "微服务", "高并发", "Redis", "MongoDB");
boolean result = list.stream()
.allMatch(obj -> obj.length() > 7);
System.out.println(">> allMatch() :全匹配长度大于7");
System.out.println(result + "\n");
result = list.stream()
.anyMatch(obj -> obj.length() > 1);
System.out.println(">> anyMatch() :部分匹配长度大于7");
System.out.println(result + "\n");
result = list.stream()
.noneMatch(obj -> obj.length() > 20);
System.out.println(">> noneMatch() :没有一个匹配长度大于20");
System.out.println(result + "\n");
}
}