java8 findFirst collect怎么使用
在Java 8中,findFirst()和collect()是Stream API的两个常用方法。
findFirst()方法返回流中的第一个元素(如果存在),否则返回一个空的Optional对象。它可以与其他流操作一起使用,如filter、map等。
collect()方法用于将流中的元素收集到一个集合中。它接受一个Collector对象作为参数,用于指定如何收集元素。常见的Collector对象有toList()、toSet()、toMap()等。
下面是一个使用findFirst()和collect()的示例:
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> fruits = Arrays.asList("apple", "banana", "cherry", "durian");
// 使用findFirst()找到第一个水果
Optional<String> firstFruit = fruits.stream()
.findFirst();
if (firstFruit.isPresent()) {
System.out.println("第一个水果是:" + firstFruit.get());
} else {
System.out.println("没有找到水果");
}
// 使用collect()将水果收集到一个新的List中
List<String> collectedFruits = fruits.stream()
.collect(Collectors.toList());
System.out.println("收集到的水果列表:" + collectedFruits);
}
}
输出结果:
第一个水果是:apple
收集到的水果列表:[apple, banana, cherry, durian]
在这个示例中,我们首先使用findFirst()方法找到了第一个水果,并使用isPresent()方法判断结果是否存在。然后,我们使用collect()方法将水果收集到一个新的List中,并使用Collectors.toList()来指定收集的方式。最后,我们打印了收集到的水果列表
原文地址: http://www.cveoy.top/t/topic/iXpg 著作权归作者所有。请勿转载和采集!