将流的结果收集到数组中

通过 collect() 模拟获取 Stream 的集合,可以通过 Stream.toArray() 方法获得数组:

List<String> fruits = Arrays.asList("apple", "banana", "pear", "kiwi", "orange");

String[] filteredFruits = fruits.stream()
    .filter(s -> s.contains("a"))
    .toArray(String[]::new);     

// prints: [apple, banana, pear, orange]
System.out.println(Arrays.toString(filteredFruits));

String[]::new 是一种特殊的方法引用:构造函数引用。