我确信我不需要嵌套的内循环,但是如何用一个循环来实现这一点,任何循环都可以,只是想摆脱嵌套循环。
for (List<GoogleUsageMapping> recordsMap : recordsGroupByMetadataId.values()) {
for (GoogleUsageMapping record : recordsMap) {
System.out.println(record.getUsage());
}
}
最佳答案
没有办法摆脱它。
但是您当然可以隐藏它。但它仍然是一个伪装的嵌套循环。示例:
recordsGroupByMetadataId.values()
.stream()
.flatMap(List::stream)
.map(GoogleUsageMapping::getUsage)
.forEach(System.out::println);
Stream::flatMap
( documentation ) 将多个流组合成一个大流,这就是将嵌套循环展平为一个大循环的原因。
关于java - 简化 map 上的嵌套循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57629577/