直接上代码,顺便演示了从匿名内部类→lamdba表达式:
/**
* stream流的map方法的作用
* 将当前流中的元素从一种类型转换为另一种类型存储到新流中
* map 方法中隐含的函数式接口是 Funtion接口
*/
public class LamdbaExpress03 {
public static void main(String[] args) {
ArrayList<String> strings = new ArrayList<>();
Collections.addAll(strings,"1","2","3","4","5");
//map 方法的函数式表达式简写
Stream<Integer> newStream = strings.stream().map(str -> Integer.parseInt(str));
newStream.forEach(s-> System.out.println(s+10));
Stream<Integer> newStream1 = strings.stream().map(new Function<String, Integer>() {
@Override
public Integer apply(String s) {
return Integer.parseInt(s);
}
});
newStream1.forEach(new Consumer<Integer>() {
@Override
public void accept(Integer integer) {
System.out.println(integer);
}
});
// Lamdba表达式的简写 newStream1.forEach(s-> System.out.print(" "+s));
}
}
//执行结果如下
11
12
13
14
15
1
2
3
4
5