Как вернуть это в массив или список двойных
Я не могу получить это в массив или коллекцию, как я должен это сделать?
Stream<double[]> pyt = IntStream.rangeClosed(1, 100)
.boxed().flatMap(a->IntStream.rangeClosed(a, 100)
.mapToObj(b->new double[]{a,b,Math.sqrt(a*a+b*b)})
.filter(t->t[2]%1==0));
это не работает
double[] arr = (double[])pyt.toArray();
1 ответ
Непонятно, чего именно вы хотите достичь. В настоящее время у вас есть поток double[]
массивы. Если вы хотите собрать их в double[][]
массив, вам нужно написать:
double[][] arr = IntStream.rangeClosed(1, 100)
.boxed()
.flatMap(a->IntStream.rangeClosed(a, 100)
.mapToObj(b->new double[]{a,b,Math.sqrt(a*a+b*b)})
.filter(t->t[2]%1==0))
.toArray(double[][]::new);
Если вы хотите сгладить его double[]
массив, вам нужно написать
double[] arr = IntStream.rangeClosed(1, 100)
.boxed()
.flatMap(a->IntStream.rangeClosed(a, 100)
.mapToObj(b->new double[]{a,b,Math.sqrt(a*a+b*b)})
.filter(t->t[2]%1==0))
.flatMapToDouble(Arrays::stream)
.toArray();