hashmap通过value反向求key的方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

hashmap通过value反向求key的方法
在Java中,HashMap并没有直接提供通过value来获取对应key的方法。

但是可以通过遍历HashMap的方式来实现该功能。

可以使用HashMap的entrySet()方法得到键值对的Set集合,再通过迭代器遍历Set集合,逐个判断值是否与给定的value相等。

如果相等,则找到了对应的key。

下面是一个示例代码:
java
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
HashMap<String, String> hashMap = new HashMap<>();
hashMap.put("key1", "value1");
hashMap.put("key2", "value2");
hashMap.put("key3", "value3");
String valueToFind = "value2";
String key = getKeyByValue(hashMap, valueToFind);
System.out.println("key: " + key); 输出:key2
}
public static <K, V> K getKeyByValue(Map<K, V> map, V value) { for (Map.Entry<K, V> entry : map.entrySet()) {
if (value.equals(entry.getValue())) {
return entry.getKey();
}
}
return null;
}
}
在上面的示例代码中,使用getKeyByValue()方法来通过value来获取对应的key。

它遍历HashMap的entrySet()集合,逐个判断值是否与给定的value相等,如果相等,则返回对应的key,如果遍历完毕仍未找到对应的key,则返回null。

请注意,如果HashMap中存在多个value相同的键值对,则getKeyByValue()
方法只能返回其中任意一个key。

相关文档
最新文档