stream 循环map
时间: 2023-11-08 16:00:36 浏览: 97
stream的循环map是指在使用Stream管道流时,通过map方法对管道中的元素进行转换的操作。通过map方法,你可以对每个元素应用一个函数,并将结果放入一个新的Stream中。map方法可以用于一维数组的操作,但是对于二维数组或二维集合类,需要使用flatMap方法。
例如,你可以使用map方法将集合中的每个字符串转换成大写:
```
List<String> alpha = Arrays.asList("Monkey", "Lion", "Giraffe", "Lemur");
List<String> collect = alpha.stream().map(String::toUpperCase).collect(Collectors.toList());
System.out.println(collect); //[MONKEY, LION, GIRAFFE, LEMUR]
```
在上面的例子中,我们使用了方法引用来将每个字符串转换成大写。你也可以使用lambda表达式来达到同样的效果:
```
List<String> collect = alpha.stream().map(s -> s.toUpperCase()).collect(Collectors.toList());
```
如果你要处理的是二维数组或二维集合类,你需要使用flatMap方法。flatMap方法将子管道中的数据平面展开到父管道中进行处理。例如,如果你要将由两个字符串组成的集合中的每个字母打印出来:
```
List<String> words = Arrays.asList("hello", "world");
words.stream()
.flatMap(w -> Arrays.stream(w.split("")))
.forEach(System.out::println);
```
上面的代码将集合中的每个字符串拆分成字符数组,并使用flatMap方法将每个字符放入父管道中进行处理。
阅读全文