Java Stream API - 对嵌套列表的项目进行计数
2022-09-01 15:04:58
让我们假设我们有一个国家列表:每个国家都有一个对其区域列表的引用:(例如,美国的情况是州)。像这样:List<Country>
List<Region>
USA
Alabama
Alaska
Arizona
...
Germany
Baden-Württemberg
Bavaria
Brandenburg
...
在“普通”Java中,我们可以计算所有区域,例如:
List<Country> countries = ...
int regionsCount = 0;
for (Country country : countries) {
if (country.getRegions() != null) {
regionsCount += country.getRegions().size();
}
}
是否有可能使用 Java 8 Stream API 实现相同的目标?我想过类似的东西,但我不知道如何使用流API的方法计算嵌套列表的项目:count()
countries.stream().filter(country -> country.getRegions() != null).???