gst*_*low 3 lambda java-8 java-stream
我有以下代码:
strings.stream().map( i->i.toUpperCase()).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
上面的代码返回 List
我想实现将返回数组的模拟.
没有额外的toArray方法调用是否可能?
本Stream类有两个toArray方法-这里有一个例子与流::指定者(IntFunction)`:
String[] array = strings.stream().toArray(String[]::new);
Run Code Online (Sandbox Code Playgroud)
如果你真的想要一个收集器(例如用作下游 for groupingBy),你可以用非常简单的方式构造它:
Collector<String, ?, String[]> toArrayCollector =
Collectors.collectingAndThen(Collectors.toList(),
list -> list.toArray(new String[list.size()]));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
678 次 |
| 最近记录: |