<R> Stream<R> map(Function<? super T,? extends R> mapper)
这个方法比较常用,功能也很强大,作用就是对流中元素使用自定义的mapper函数进行计算,计算结果保存在新流中返回。
举个例子,比如我们有集合保存有4个名字,现在我想在这个4个名字的前面都加上“Mr.”,看代码:
void steam_map() {
List<String> list = List.of("zhangsan","lisi","wanger","mazi");
list.stream().map(a -> "Mr."+a).forEach(System.out::println);
}
运行结果:
Mr.zhangsan
Mr.lisi
Mr.wanger
Mr.mazi
从这个简单的例子上我们可以看到这个方法使用非常简单,应用面非常广泛。下面再举个例子,这个例子的作用就是把上个例子的需求反过来。看代码:
void steam_map() {
List<String> list = List.of("Mr.zhangsan","Mr.lisi","Mr.wanger","Mr.mazi");
list.stream().map(a -> a.substring(a.indexOf(".")+1)).forEach(System.out::println);
}
运行结果:
zhangsan
lisi
wanger
mazi