首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用mapToDouble将多个对象字段从一个ArrayList“流式”传输到一个双精度数组?

如何使用mapToDouble将多个对象字段从一个ArrayList“流式”传输到一个双精度数组?
EN

Stack Overflow用户
提问于 2021-06-24 20:28:30
回答 1查看 37关注 0票数 1

我在ArrayList<Vector3f>中存储了多个类为org.joml.Vector3f的对象。该类有3个浮点型字段:xyz。我想把它们都保存在一个java.nio.DoubleBuffer中,所以我想这样做:

代码语言:javascript
运行
复制
public void myFunction(ArrayList<Vector3f> vertices) {
      // Some code here
      DoubleBuffer positionbuffer = DoubleBuffer.wrap(vertices.stream().mapToDouble(i -> {i.x, i.y, i.z}).toArray());
      // Some code here
}

但这不是一种合法/可能的方式。

有没有办法使用mapToDouble并在括号中做一些事情,这样我就可以检索ArrayList中每个单独Vector3f的每个单独字段并将其存储到一个双精度数组中?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-24 20:47:06

试试像这样的东西

代码语言:javascript
运行
复制
DoubleBuffer positionbuffer = DoubleBuffer.wrap(
        vertices.stream()
                .map(i -> new double[]{i.x, i.y, i.z})
                .flatMapToDouble(Arrays::stream)
                .toArray());
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68115781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档