收集stream流
把stream流的数据转回成集合。
stream的作用是把集合转换成一根传送带,借用stream流的强大功能进行的操作。
但是实际开发中数据最终的形式还是应该是集合,最终stream流操作完毕以后还是要转换成集合。
这就是收集Stream流。
stream流是手段。
集合才是目的。
流只能使用一次。
public static void main(String[] args) {
List<String> ls = new ArrayList<>();
ls.add("小白");
ls.add("小黑子");
ls.add("蓝天白");
ls.add("小红");
ls.add("小红");
//stream流转set集合
Stream<String> stream = ls.stream().filter(s -> s.startsWith("小"));
Set<String> collect = stream.collect(Collectors.toSet());
System.out.println(collect);//[小黑子, 小白, 小红]
//stream流转list集合
Stream<String> stream1 = ls.stream().filter(s -> s.startsWith("小"));
List<String> collect1 = stream1.collect(Collectors.toList());
System.out.println(collect1);//[小白, 小黑子, 小红, 小红]
//stream流转数组
Stream<String> stream2 = ls.stream().filter(s -> s.startsWith("小"));
Object[] objects = stream2.toArray();
//可以借用构造器引用声明转换后数组的类型
String[] objects1 = stream2.toArray(String[]::new);
}