stream流中map的方法如何使用
时间: 2023-10-24 16:08:51 浏览: 78
在Stream流中,map方法用于对流中的每个元素进行操作,将元素映射成一个新的元素,并返回一个新的Stream流。
map方法的语法如下:
```java
<R> Stream<R> map(Function<? super T, ? extends R> mapper)
```
其中,Function是一个函数式接口,用于将流中的元素映射成另一个类型的元素。参数mapper是一个lambda表达式,用于指定映射的规则。
例如,如果我们有一个字符串列表,想要将其中的每个字符串转换成大写字母,可以使用map方法,代码如下:
```java
List<String> list = Arrays.asList("apple", "banana", "orange");
Stream<String> stream = list.stream();
Stream<String> upperCaseStream = stream.map(s -> s.toUpperCase());
```
上述代码中,首先将字符串列表转换成一个Stream流,然后使用map方法将每个字符串转换成大写字母,并返回一个新的Stream流upperCaseStream。
另外,map方法也可以嵌套使用,例如我们可以将一个整数列表中的每个元素平方,然后将结果转换成字符串,代码如下:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
Stream<Integer> stream = list.stream();
Stream<String> resultStream = stream.map(n -> n * n).map(n -> "result: " + n);
```
上述代码中,首先将整数列表转换成一个Stream流,然后使用两次map方法,第一次将每个元素平方,第二次将结果转换成字符串,并返回一个新的Stream流resultStream。
阅读全文