- 单列集合 default Stream stream() Collection中的默认方法
- 双列集合 无 无法直接使用stream流,需要用单列集合转换
- 数组 public static Stream(T[] array) Arrays工具类中的静态方法
- 一堆零散数据 public static Stream of(T… values) Stream接口中的静态方法
单列集合获取stream流
public static void main(String[] args) {
ArrayList<String> strings = new ArrayList<>();
Collections.addAll(strings,"s","v","w","e","t");
Stream<String> stream = strings.stream();
stream.forEach(new Stream.Builder<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
@Override
public Stream<String> build() {
return null;
}
});
System.out.println("===================");
strings.stream().forEach(s-> System.out.println(s));
}
双列集合获取stream流的两种方式
//创建双列集合
HashMap<String, Integer> map = new HashMap<>();
//添加数据
map.put("aaa",111);
map.put("bbb",222);
map.put("ccc",333);
map.put("ddd",444);
map.put("eee",555);
//第一种获取方式
map.keySet().stream().forEach(s-> System.out.println(s));
//第二种获取方式
map.entrySet().stream().forEach(s-> System.out.println(s));
}
数组
int[] arr = {1,2,3,4,5,6,7};
Arrays.stream(arr).forEach(s-> System.out.println(s));
零散数据
Stream.of(1,2,3).forEach(s-> System.out.println(s));
注意
Stream接口的静态方法of的细节
方法的形参是一个可变参数,可以传递一些零散的数据,也可以传递数组
但是数组必须是引用数据类型的,如果传递基本类型的话是会把整个数组当作一个元素放在Stream流当中.