查找与判断

| Filter(predicate pre).findAny() | 返回任意一个满足pre的value |
|---|---|
| Filter(predicate pre).findFirst() | 返回第一个满足pre的value |
| boolean Stream.anyMatch(lambda) | 检测流中是否有满足lambda的 |
| boolean Stream.allMatch(lambda) | |
| boolean Stream.noneMatch(lambda) |
值得注意的是:
在单线程中, findAny只要找到则停止并且返回该value,
这和findFirst是等效的,
但是并不代表二者毫无差别或说一方多余
在多线程中,findAny可以并行的去寻找流中满足条件的value,找到即停止
而findFirst只能find by turn and one by one
总结:
要性能选findAny() —>高效
要第一个选findFirst()—>符合要求