我一直在寻找我需要做的事情,但是我把它放在一起很麻烦。首先,这是我的目标,简单地说:
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))
我不确定如何从这里获取原始数组。如果到目前为止这是好的,我从哪里开始?如果有更好的方法来做这件事,我可以接受建议。感谢任何帮助,谢谢。
答案 0 :(得分:7)
使用DoubleStream
制作myList.stream()
.map(Object1::getObject2)
.map(Object2::getMyMap)
.mapToDouble(m -> m.get(key)) // or throw if key is not in map
.toArray();
:
Table A:
ID | DATE_CREATED
Table B:
ID | DATE_CREATED
TABLE C:
ID | DATE_CREATED