如何从下面的 HashMap 列表中的任何值中获取键?
Map<String, List<String>> map = new HashMap<String, List<String>>();
"car" : ["toyota", "bmw", "honda"]
"fruit" : ["apple","banana"]
"computer" : ["acer","asus","ibm"]
如果我将值传递为“ibm”,我需要获取 key 为“computer”,对于“bmw”输入需要获取 key 为“car”。
我正在使用下面的代码来获取 key ,需要任何简短或更好的选项
map.forEach((k, v) -> {
List<String> list = v;
}
列表中的键
最佳答案
对于 map 中的每个条目,检查值是否包含您的关键字
String value = "ibm";
Optional<String> key = map.entrySet().stream()
.filter(e -> e.getValue().contains(value))
.map(Entry::getKey)
.findFirst();
System.out.println(key.get());
关于java - 从列表中的任何值获取键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56702578/