java - 使用迭代器从 HashMap 获取(键,值)对

标签 java android

我有

private Map<K,Collection<V>> map = new HashMap<>();

我想要返回值

public Iterable<Map.Entry<K, V>> allValues() {
}

如何将值作为 Iterable 返回?

最佳答案

您可以按如下方式使用流:

Iterable<Map.Entry<K, V>> iterable = map.entrySet().stream()
    .flatMap(e -> e.getValue().stream().map(v-> entry(e.getKey(), v)))
    .collect(toList());

这假设 Java 9 或更高版本(对于 Map.entry )和以下静态导入:

import static java.util.Map.entry;
import static java.util.stream.Collectors.toList;

关于java - 使用迭代器从 HashMap 获取(键,值)对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59689394/

相关文章:

java - EclipseLink MOXy,对象图中的循环

java - 包含从 block 读取的映射器的 Hadoop java 文件

java - 修复此铸件行为的最简洁方法

Android Studio,OpenCV jar,java.lang.ClassNotFoundException : org. opencv.R$styleable

Android studio实验插件0.6.0 NDK调试

android - 如何在 Kotlin 中使用 RetroFit2 responseBodyConverter?

java - 如何从 hbox 中删除形状?

java - 如何使用ProcessBuilder将EAR文件部署到wildfly服务器?

javascript - 在react-native中获取主颜色?

php - 为什么 Mobiledetect.net 脚本无法检测到 iPhone?