Doopy:
¿Hay alguna manera en Java 8 para transformar una matriz / Colección usar map()
sin tener que volver a asignar la copia creada, por ejemplo,
Arrays.stream(array).mapInPlace(x -> x / 100);
list.stream().mapInPlace(e -> e.replaceAll(" ", ""));
en lugar de
array = Arrays.stream(array).map(x -> x / 100).toArray();
list = list.stream().map(e -> e.replaceAll(" ", "")).collect(Collectors.toList());
?
Si no es así, ¿cuál es la razón de esta decisión de diseño?
YCF_L:
Utilizando tal vez List::replaceAll
en su caso puede ayudarle a:
Arrays.asList(array).replaceAll(x -> x / 100);
y
list.replaceAll(e -> e.replaceAll(" ", ""));
Buen punto de @Holger , en caso de que necesite el índice puede utilizar Arrays::setAll
:
Arrays.setAll(array, x -> array[x] / 100);
O más mejor si usted quiere que su trabajo sea en paralelo puede utilizar Arrays::parallelSetAll
:
Arrays.parallelSetAll(array, x -> array[x] / 100);