Java 如何将其返回到数组或double列表中

Java 如何将其返回到数组或double列表中,java,arrays,java-stream,flatmap,Java,Arrays,Java Stream,Flatmap,我无法将其检索到数组或集合中,我该怎么做 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-&

我无法将其检索到数组或集合中,我该怎么做

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[][
数组中,则需要编写:

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[]
array,则需要编写

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();

现在还不清楚你到底想要实现什么。目前,您有一个
双[]
数组流。如果要将它们收集到
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[]
array,则需要编写

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();