java将map放入数组_java – 将带有map的对象列表转换为基元数组

我一直在找一些我需要做的事情,但是我很难把它们放在一起.首先,这是我的目标,简单地说:

Object1

Object2

Map

我需要做的是,从Object1列表开始,在给定特定键的情况下获取地图值的double [](列表中的所有对象在地图中具有相同的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,java-8,java-stream,lambda

来源: https://codeday.me/bug/20190727/1551907.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值