?? ?在源代码转向加工到目标代码时,可以使用加工流代码加工
?? ?三种方式:
?? ?1.使用stream流的of方法
?? ?Stream.of(arr);
?? ?2.使用数组的Arrays.stream
?? ?Arrays.stream(arr);
?? ?3.集合类,继承了Collection的.stream
?? ?List<String> list= new ArrayList<>();
?? ?list.stream();
?? ?使用流时,流会一去不返
如下图所示:两个“集合”中间加工的过程,两条线即称作流
?示例:
//遍历数组foreach
Arrays.stream(operations).forEach(oper->{
switch(oper){
case"+":
int size =stack.size();
stack.push(stack.get(size-1)+stack.get(size-2));
//前两数和
break;
case"C":
stack.pop();
break;
case"D":
stack.push(stack.peek()*2);
break;
default:
stack.push(Integer.parseInt(oper));
break;
}
});
return stack.stream().mapToInt(Integer::intValue).sum();
//stream工作流 mapToInt拆箱 Integer::IntValue将Integer类型转换 sum()求和