java中map根据value找key
时间: 2023-04-27 08:04:34 浏览: 191
详解JAVA里面获取map的key和value的方法
5星 · 资源好评率100%
在Java中,可以使用以下方法根据Map的value查找对应的key:
1. 遍历Map,逐个比较value,找到对应的key。
2. 使用Java 8中的Stream API,通过filter和findFirst方法查找第一个匹配的key。
3. 使用Google Guava库中的BiMap,它可以实现key和value的双向映射,可以通过inverse方法获取value到key的映射,然后再根据value查找对应的key。
例如,假设有一个Map<String, Integer>,需要根据value为2查找对应的key,可以使用以下代码:
1. 遍历Map
```java
for (Map.Entry<String, Integer> entry : map.entrySet()) {
if (entry.getValue().equals(2)) {
String key = entry.getKey();
// 找到对应的key
}
}
```
2. 使用Stream API
```java
String key = map.entrySet().stream()
.filter(entry -> entry.getValue().equals(2))
.map(Map.Entry::getKey)
.findFirst()
.orElse(null);
// 找到对应的key,如果不存在返回null
```
3. 使用BiMap
```java
BiMap<String, Integer> biMap = HashBiMap.create(map);
String key = biMap.inverse().get(2);
// 找到对应的key,如果不存在返回null
```
阅读全文