java steam流的map用法
时间: 2023-11-29 15:39:47 浏览: 185
Java Stream 的 map() 方法用于对流中的每个元素应用给定的函数,并将结果映射到新的流中。
map() 方法的语法如下:
```java
<R> Stream<R> map(Function<? super T,? extends R> mapper)
```
其中,Function 是一个函数接口,它接受一个参数并返回一个结果。参数类型为 T,结果类型为 R。在 map() 方法中,我们需要传递一个实现了 Function 接口的 lambda 表达式作为参数,用于指定对元素的映射规则。
下面是一个简单的示例,展示了如何使用 map() 方法对一个整数流进行平方计算:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> squaredNumbers = numbers.stream()
.map(n -> n * n)
.collect(Collectors.toList());
System.out.println(squaredNumbers); // 输出:[1, 4, 9, 16, 25]
```
在上面的示例中,我们使用 stream() 方法将整数列表转换为流,然后使用 map() 方法对每个元素进行平方操作。最后,我们使用 collect() 方法将结果收集到一个列表中。
除了对元素进行简单的操作外,我们还可以使用 map() 方法进行更复杂的转换。例如,可以将一个对象流转换为另一个对象流,或者提取对象中的某个属性等。
希望这个例子能帮助你理解 Java Stream 中 map() 方法的用法。如果还有其他问题,请随时提问!
阅读全文