加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 04:39:08 所属栏目:Java 来源:网络整理
导读:我一直在找一些我需要做的事情,但是我很难把它们放在一起.首先,这是我的目标,简单地说: Object1 Object2 MapString,Double 我需要做的是,从Object1列表开始,在给定特定键的情况下获取地图值的double [](列表中的所有对象在地图中具有相同的N个键). 这是我的
我一直在找一些我需要做的事情,但是我很难把它们放在一起.首先,这是我的目标,简单地说:

Object1
    Object2
        Map<String,Double>

我需要做的是,从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();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读