/*
收集流
数组
Object[] toArray() :将集合转换为Object数组
<A> A[] toArray(IntFunction<A[]> generator) :将集合转换为指定类型的数组
集合
*/
public class StreamDemo5 {
public static void main(String[] args) {
String[] arr = {"hello","world","java","php","aaaa"};
// 获取流 arr(数组) ->stream(Stream流)
Stream<String> stream = Stream.of(arr);
// 操作流
Stream<String> stream2 = stream.filter(s -> s.length() == 4);
// stream2.forEach(s-> System.out.println(s));
// 收集流
// Object[] objects = stream2.toArray();
// Lambda表达式
// arr = {"java","aaaa"};
arr = stream2.toArray(value ->new String[value]);
for (String s : arr) {
System.out.println(s);
}
// 匿名内部类
// String[] strings = stream2.toArray(new IntFunction<String[]>() {
// // value表示流中数据的个数
// @Override
// public String[] apply(int value) {
// return new String[value];
// }
// });
// System.out.println("-------------");
// // Stream流的操作,不会影响源数据(数组或者集合)
// for (String s : arr) {
// System.out.println(s);
// }
}