Doo*_*opy 5 java arrays collections java-8 java-stream
Java 8中是否有一种方法可以使用转换数组/集合map()而无需重新分配创建的副本,例如
Arrays.stream(array).mapInPlace(x -> x / 100);
list.stream().mapInPlace(e -> e.replaceAll(" ", ""));
代替
array = Arrays.stream(array).map(x -> x / 100).toArray();
list = list.stream().map(e -> e.replaceAll(" ", "")).collect(Collectors.toList());
?
如果没有,这个设计决定的原因是什么?
也许List::replaceAll在你的情况下使用可以帮助你:
Arrays.asList(array).replaceAll(x -> x / 100);
和
list.replaceAll(e -> e.replaceAll(" ", ""));
来自@Holger的好点,如果您需要可以使用的索引Arrays::setAll:
Arrays.setAll(array, x -> array[x] / 100);
或者更好的是,如果你想让你的工作并行,你可以使用Arrays::parallelSetAll:
Arrays.parallelSetAll(array, x -> array[x] / 100);
| 归档时间: | 
 | 
| 查看次数: | 203 次 | 
| 最近记录: |