Stream流的作用:
结合了Lambda表达式,简化集合,数组的操作
1.Stream流的获取

1.单列集合
java
ArrayList<String> list = new ArrayList<String>();
Collections.addAll(list, "A", "B", "C", "D", "E", "F", "G");
list.stream().forEach(s->System.out.println(s));
2.双列集合
java
HashMap<String,Integer> hm = new HashMap<>();
hm.put("A", 1);
hm.put("B", 2);
hm.put("C", 3);
hm.put("D", 4);
hm.keySet().stream().forEach(s->System.out.println(s));
hm.entrySet().stream().forEach(s->System.out.println(s));
3.数组
java
int[] arr={1,2,3,4,5};
Arrays.stream(arr).forEach(s->System.out.println(s));
4.一堆零散数据
java
Stream.of(1,2,3,4,5).forEach(s-> System.out.println(s));
Stream接口中静态方法of的细节:
方法的形参是一个可变参数,也可以传递数组
但是数组必须是引用数据类型的,如果传递基本数据类型,会把整个数组当做一个元素放到Stream中
Stream流的中间方法

注意1:中间方法返回新的Stream流,原来的Stream流只能使用一次,建议使用链式编程
注意2:修改Stream流中的数据,不会影响原来集合或者数组中的数据
3.Stream流终结方法
