①. Collection体系的集合可以使用默认方法stream()生成流default Stream
②. Map体系的集合间接的生成流
③. 数组可以通过Stream接口的静态方法of(T… values)生成流
②. forEach Consumer
①. 虽然方法名字叫forEach ,但是与for循环中的“for-each”昵称不同 void forEach(Consumer super T> action);
②. java.util.function.Consumer
①. Stream filter(Predicate predicate):用于对流中的数据进行过滤
②. Predicate接口中的方法 boolean test(T t):对给定的参数进行判断,返回一个布尔值
③. java.util.stream.Predicate函数式接口唯一的抽象方法为boolean test(T t);,该方法将会产生一个boolean值结果,代表指定的条件是否满足。如果结果为true,那么Stream流的filter方法将会留用元素;如果结果为false,那么filter方法将会舍弃元素
④. map Function
①. 如果需要将流中的元素映射到另一个流中,可以使用map方法,方法签名:
Stream map(Function super T, ? extends R> mapper);
②. 该接口需要一个Function函数式接口,可以将当前流中的T类型数据转换为另一种R类型的流
此前我们已经学习过 java.util.stream.Function 函数式接口,其中唯一的抽象方法为:
R apply(T t);,这可以将一种T类型转换成为R类型,而这种转换的动作,就称为“映射”
⑤. limit 和 skip
==================
①.Stream
②.Stream
⑥. concat 、distinct
①. static Stream concat(Stream a, Stream b):合并a和b两个流为一个流
②. Stream distinct():返回由该流的不同元素(根据Object.equals(Object) )组成的流
⑦. sorted 排序
①. Stream sorted():返回由此流的元素组成的流,根据自然顺序排序
②. Stream sorted(Comparator comparator):返回由该流的元素组成的流,根据提供的Comparator进行排序Comparator接口中的方法 int compare(T o1, T o2)
⑧. collect
①. toList:将流中的元素放置到一个列表集合中去。这个列表默认为ArrayList
②. toSet:将流中的元素放置到一个无序集set中去。默认为HashSet。
③. joining:joining的目的是将流中的元素全部以字符序列的方式连接到一起,
可以指定连接符,甚至是结果的前后缀



