1 回答

TA贡献1829条经验 获得超13个赞
拥有:
List<Home> homeList = ....;
... your work ...
Map<String, Long> barcodeNumberMap = ...;
那么第一个问题应该是如何填充最终的地图。这是通过一个.collect(Collectors.toMap(keyGetter, valueGetter)).
Map<String, Long> result =
some obj stream of string and long
.collect(Collectors.toMap(obj::getString, obj::getLong);
然后是homeListHome:一个又长又多的Strings,一定要压平。哪个 basicall 会将每 20 个 String 的 10 个 Home 压平为 200 对 long 和 String。可能会假设每个 String 值都是唯一的。
AStream<Pair<String, long>>会做为
homeList.stream()
.flatMap(home ->
home.addressList.stream()
.map(addr -> Pair<String, Long>(addr, list.number)));
有一个适用于内部 Home 到外部的作品:一个 Home 可以变成一个Stream<Pair<String, Long>>flatMap 然后扁平化多个流。
由于这似乎是家庭作业,我就到此为止。
添加回答
举报