Stream流中的Map方法

在Java 8及以上的版本中,Stream中的map方法可以用于对Stream中的每个元素应用一个函数,并将结果存储在一个新的Stream中。具体用法如下:

// 创建一个Stream对象
Stream<T> stream = ...;
// 应用函数mapFunction
Stream<R> mappedStream = stream.map(element -> mapFunction(element)); 

其中,mapFunction是一个函数,接受一个元素类型为T的参数,并返回一个类型为R的结果。map方法返回一个新的Stream对象,其中每个元素都是通过应用mapFunction函数得到的结果。

以下是一个示例,展示如何使用map方法将一个Stream中的字符串元素转换为大写字母:

List<String> strings = Arrays.asList("hello", "world", "java");
Stream<String> stream = strings.stream(); 
// 使用方法引用将字符串转换为大写字母 
Stream<String> upperCaseStream = stream.map(String::toUpperCase); 
// 输出结果为:HELLO WORLD JAVA
upperCaseStream.forEach(System.out::println); 

在上述示例中,我们首先使用Arrays.asList方法创建了一个包含字符串元素的List对象。然后,我们通过stream方法将其转换为一个Stream对象,并通过map方法将每个字符串元素转换为大写字母,最后通过forEach方法遍历输出转换后的结果。