1.6 简单简化
现在你已经知道了如何创建并转换一个流,我们最终也是最重要的一点就是从流的数据中得到我们想要得到的。我们在本节中介绍的方法就是简化。简化是终端的操作,它将流减少为非流值直到可以在程序中被使用。
你早已见到流的简化:count()方法返回了流中元素的数量。
其他的简化有 max() 和 min() 方法,它们返回流中最大值或者是最小值。有一种说法-这些方法返回一个Optional 1
2Optional<String> largest = words.max(String::compareToIgnoreCase);
System.out.println("largest: " + largest.orElse(""));
findFirst() 返回非空集合中的第一个值。 与过滤器结合使用时通常很有用。 例如,在这里找到以字母Q开头的第一个单词(如果存在):1
2Optional<String> startsWithQ
= words.filter(s -> s.startsWith("Q")).findFirst();