java8 引入流进行处理之后,我们常需要对流进行搜集。
那么流的搜集主要有如下两种方式:
1、将流收集到集合中
2、将流收集到数组中
具体的例子见如下代码:
public class LambdaExpress {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
Collections.addAll(list,"科比","詹姆斯","韦德","霍华德","安东尼","浓眉");
// Stream<String> stream = list.stream();
Stream<String> limitStream = list.stream().limit(3);
// limitStream.forEach(s-> System.out.println(s)); 终结流
//1、将stream流收集到新的集合中(放到set中一样)
// List<String> newList = limitStream.collect(Collectors.toList());//toSet() 方法就转为set集合了
// System.out.println(newList.size());
// for (String s:newList) {
// System.out.println("新list内的元素: "+s);
// }
//2、将流的结果收集到数组中
// Object[] objs = limitStream.toArray();
// for (Object o:objs) {
// System.out.println("数组输出 "+o);
// }
//2.1指定数据类型
String[] str = limitStream.toArray(String[]::new);
for (String s:str) {
System.out.println("数组类型字符串: "+s);
}
}
}
上图最后的输出结果为:
数组类型字符串: 科比
数组类型字符串: 詹姆斯
数组类型字符串: 韦德