需求:我们要在"aa-1","bb-2","cc-3","dd-4"这几个字符串当中获取其数字,要求用Stream流来完成
下面是代码演示:
import java.util.ArrayList;
import java.util.Collections;
import java.util.function.Function;
public class StreamDemo3 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
Collections.addAll(list,"aa-1","bb-2","cc-3","dd-4");
//第一个参数表示流里面原本的数据类型
//第二个参数表示要转之后的参数类型
//apply形参s:以此表示流里面的每一个数据
//返回值:表示转化之后的数据
list.stream().map(new Function<String, Integer>() {
@Override
public Integer apply(String s) {
String[] split = s.split("-");
String s1 = split[1];
int age = Integer.parseInt(s1);
return age;
}
}).forEach(s -> System.out.println(s));
}
}
运行结果