/*
流式思想类似于工厂的生产流水线;比如生产饮料,虽然每一步的处理都使瓶子发生变化 ,但本身任然是瓶子
获取流的方法:
01.根据单列集合,数组获取
Stream<T> stream = 单列集合/数组.stream ;
02.Stream 接口中的静态方法of
Stream<T> stream = Stream.of{};
03.双列集合可转换为单列集合,然后获取流
*********************************************
Stream 中的主要方法:终结方法 使用完之后不会返回Stream对象
延迟方法:用完之后返回Stream对象
foreach方法 用于遍历元素 接口为consumer接口
*/
public class DemoStream02 {
public static void main(String[] args) {
Stream<String> stream = Stream.of("张三","李四","王五","赵柳","五九");
stream.forEach((String name)->{
System.out.println(name);
});
}
}
/*
stream流中关于集合遍历的优化 是用到了上一节学习到的函数式接口,是lambda表达式的衍生
*/
public class DemoStream {
public static void main(String[] args) {
ArrayList<String> list =new ArrayList<>();
list.add("周芷若");
list.add("张无忌");
list.add("照明");
list.add("赵海明");
list.add("张三丰");
list.add("张强");
list.stream().filter((String s)->{return s.startsWith("张");}).filter((String s)->{return s.length()==3;}).
forEach((String s)->{
System.out.println(s);
});
}
}