Mik*_*ity 3 java lambda java-8 java-stream
我一直在找一些我需要做的事情,但是我很难把它们放在一起.首先,这是我的目标,简单地说:
Object1
Object2
Map<String, Double>
Run Code Online (Sandbox Code Playgroud)
我需要做的是,从列表开始Object1
,获取double[]
给定特定键的映射值(列表中的所有对象在映射中具有相同的N键).
这是我的开始尝试:
myList.stream().map(Object1::getObject2).map(Object2::getMyMap).map(m -> m.get(key).collect(Collectors.toCollection(ArrayList::new))
Run Code Online (Sandbox Code Playgroud)
我不知道如何从这里获得原始数组.如果到目前为止这是好的,我从哪里开始?如果有更好的方法来做这件事,我愿意接受建议.感谢任何帮助,谢谢.
使用.mapToDouble
制作DoubleStream
:
myList.stream()
.map(Object1::getObject2)
.map(Object2::getMyMap)
.mapToDouble(m -> m.get(key)) // or throw if key is not in map
.toArray();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
243 次 |
最近记录: |