Я считаю целесообразным использовать потоки Java для создания больших массивов объектов, как в:
double[] doubleArray = {array of double};
DoubleWrapper[] wrapperArray = new DoubleWrapper[doubleArray.length;
IntStream
.range(0, doubleArray.length)
.forEach(index -> wrapperArray.setElement(index, myArray[index]));
Это работает. Но я читал, что полагаться на «побочные эффекты» - это плохая практика, но в качестве результата потока я должен получить желаемый результат.
Я думаю, что ближе к этому при извлечении массива из объекта:
DoubleWrapper[] wrapperArray = {array of DoubleWrapper}
double[] mArray = IntStream
.range(0, divisor.size())
.mapToDouble(index -> wrapperArray.getElement(index))
.toArray();
Есть ли лучший способ сделать это с потоками? Если нет, я должен вернуться к использованию "для циклов"?