Stream 流


Stream 流是用来简化集合类库或者数组API的弊端。
Stream 其实是一个传送带,元素在上面可以背操作,支持链式编程。
1.Stream 流的获取
Collection 集合的Stream()方法
Map 集合
map.keySet.Stream()键流
map.values.Stream()值流
map.entrySet.Stream()键值对流
数组
Arrays.stream(arr)
Stream.of(arr)
2.常用API
filter,foreach,count,limit,skip
map映射,加工方法,对原来的元素加工,然后重新放上去
foreach,count是终结方法,使用后流将关闭,再无法使用链式编程。
list.stream().map(s -> new Student(s)).forEach(System.out.println(s));把元素加工成学生类

3.收集Stream 流
Stream 流是手段,集合才是终极目的。把Stream 流的数据转换成集合。
list.Stream().Collect(Collections.toList())
数组默认返回object类型,要想特定类型数组需要
list.Stream().toArrary(String[]::New)