我在 JavaFX 8 程序中有一个 Point3D 流。我希望,为了从它们创建网格,能够生成它们的 (x, y, z) 坐标列表。
通过传统的 Java 循环,这是一个足够简单的任务。 (实际上几乎微不足道。)但是,将来我可能会处理数万个点;我非常希望能够使用 Java Stream API 并通过并行流来完成此任务。
我想我正在寻找的是这个伪代码的大致等价物:
List<Double> coordinates = stream.parallel().map(s -> (s.getX(), s.getY(), s.getZ())).collect(Collectors.asList());
到目前为止,我还没有发现这样的功能。有人可以帮我朝正确的方向插入吗?
最佳答案
您可以使用flatMap
:
List<Double> coordinates =
stream.parallel()
.flatMap(s -> Stream.of(s.getX(), s.getY(), s.getZ()))
.collect(Collectors.asList());
关于java - Java Streams 可以将点列表转换为其坐标列表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35046324/