gpt4 book ai didi

java - 将带有映射的对象列表转换为基元数组

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:21:43 25 4
gpt4 key购买 nike

我一直在寻找我需要做的事情的片段,但我无法将它们组合在一起。首先,这是我的目标,简单地说:

Object1
Object2
Map<String, Double>

我需要做的是,从 Object1 列表开始,为给定特定键的映射值获取 double[](所有对象在该列表在 map 中具有相同的 N 个键)。

这是我的开始尝试:

myList.stream().map(Object1::getObject2).map(Object2::getMyMap).map(m -> m.get(key).collect(Collectors.toCollection(ArrayList::new))

我不确定如何从这里到达原始数组。如果到目前为止一切顺利,我该从这里去哪里?如果有更好的方法来完成这整件事,我愿意接受建议。感谢您提供任何帮助,谢谢。

最佳答案

使用.mapToDouble 制作DoubleStream:

myList.stream()
.map(Object1::getObject2)
.map(Object2::getMyMap)
.mapToDouble(m -> m.get(key)) // or throw if key is not in map
.toArray();

关于java - 将带有映射的对象列表转换为基元数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44378294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com