(1)使用for循環遍歷。
②使用叠代器叠代器
③使用鍵集叠代
(4)用EnterySet叠代
以下是上述四種方法的具體實現代碼:
1,用於循環遍歷
公共靜態對象getKey(HashMap & lt;對象,對象& gtmap,String v ){
字符串關鍵字=““;
供(圖。條目& lt字符串,對象& gtm :map.entrySet())?{
if(m . getvalue()。等於(v)){
key = m . getkey();
}}
回車鍵;
}
2.使用叠代器
公共靜態對象getKey(HashMap & lt;對象,對象& gtmap,String v ){
set set = map . entry set();
iterator iterator = set . iterator();
字符串關鍵字=““;
while(iterator . hasnext()){
地圖。條目& lt字符串,對象& gtenter =(Entry & lt;字符串,對象& gt)
iterator . next();
if(enter . getvalue()。等於(v)){
key = enter . getkey();
}}
回車鍵;
}
3、使用鍵集叠代
公共靜態對象getKey(HashMap & lt;對象,對象& gtmap,String v ){
叠代器<對象& gtit = map.keySet()。叠代器();
while(it . hasnext()){
String key = it.next()。toString();
if((String)map . get(key)。equals(v))返回鍵;
}
返回null
}
4.使用EnterySet叠代
公共靜態對象getKey(HashMap & lt;對象,對象& gtmap,String v ){
字符串關鍵字=““;
叠代器it = map.entrySet()。叠代器();
while(it . hasnext()){
地圖。Entry Entry =(Entry)it . next();
object obj = entry . getvalue();
if(obj!= null & amp& ampobj . equals(value)){
key =(String)entry . getkey();
}}
回車鍵;
}
擴展數據:
用java獲取地圖鍵值的方法;
(1)?通過map.keySet()方法,先獲取map的key,再根據key獲取對應的值。
for(字符串鍵:map . keyset()){
string value = map . get(key);
system . out . println(key+“?“+值);
}
叠代器<字符串& gtiter = map.keySet()。叠代器();
while(ITER . hasnext()){
string key = ITER . next();
string value = map . get(key);
system . out . println(key+““+value);
}
(2)通過map.entrySet()方法循環映射中的每個鍵-值對,然後獲取鍵和值。
for(Entry & lt;String,String & gtVO:map . entry set()){
VO . getkey();
VO . getvalue();
system . out . println(VO . getkey()+“?“+VO . getvalue());
}
叠代器<條目& ltString,String & gt& gtiter = map.entrySet()。叠代器();
while(ITER . hasnext()){
條目& ltString,String & gtentry = ITER . next();
string key = entry . getkey();
string value = entry . getvalue();
system . out . println(key+““+value);
}
JAVA官方文檔-地圖