0 java functional-programming java-8 java-stream
我有这段代码.我该如何改造它?功能风格?事实上,我有List<X>.每个X包含List<V>.此列表中的每个V都有List<M>一个参数.我需要构建Map<X,Y>,其中Y是存储在对象X中聚合的所有V对象中的所有M个对象的数量.
HashMap<Country, Integer> modelsPerCountryMap = new HashMap<>();
int count;
for (Country country : CountryDataSingleton.getCountryDataCollection()) {
count = 0;
for (CarMaker cm : country.getListOfMakers()) {
count += cm.getModels().size();
}
modelsPerCountryMap.put(country, count);
}
Run Code Online (Sandbox Code Playgroud)
我将这些国家/地区流式传输,然后将它们收集到地图中,其中关键字是国家/地区,价值可以是制造商尺寸的总和:
Map<Country, Integer> modelsPerCountryMap =
CountryDataSingleton.getCountryDataCollection()
.stream()
.collect(
Collectors.toMap(
Function.identity(),
c -> c.getListOfMakers()
.stream()
.mapToInt(cm -> cm.getModels().size())
.sum()
)
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
105 次 |
| 最近记录: |