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
方法遍历输出转换后的结果。