當前位置:成語大全網 - 書法字典 - 如何替換java集合HashMap中的鍵值?

如何替換java集合HashMap中的鍵值?

我還沒有找到壹個好方法。我只能遍歷整個hashmap壹次,記錄要替換的值的鍵,然後刪除它,並根據它的鍵放入壹個新值。示例代碼如下(將hashmap集合中值為USA的記錄替換為“US”):

公共的?靜電?虛空?main(String【】args ){

//替換的鍵和值

int?替換_鍵?=?-1;//暫時不知道鍵值USA在哪裏,賦默認值-1。

//新密鑰?然後呢。價值

int?new _ key

字符串?新價值?=?“我們”;

HashMap & lt整數,?字符串& gt?國家?=?新的?HashMap & lt整數,?字符串& gt();

秉誠(1,?“中國”);

郭嘉(2,?“美國”);

郭嘉(3,?“澳大利亞”);

//替換前遍歷壹次hashmap,順便記錄下要替換的值“USA”的鍵。

System.out.println(“替換前為“-”);

叠代器<條目& lt整數,?字符串& gt& gt?叠代器?=?countries.entrySet()。叠代器();

while(iterator . hasnext()){

地圖。條目& lt整數,?字符串& gt?入門?=?iterator . next();

整數?鑰匙?=?entry . getkey();

字符串?價值?=?entry . getvalue();

if(value . equals(“美國“){

替換_鍵?=?關鍵;

}

system . out . println(key+“:“+value);

}

//開始替換,用?我們;

if(replace _ key?!=?-1){

countries . remove(replace _ key);

countries . put(replace _ key,?new _ value);

}

//遍歷新的hashmap,查看替換是否成功。

system . out . println(“-“);

叠代器<條目& lt整數,?字符串& gt& gt?叠代器2?=?countries.entrySet()。叠代器();

while(iterator 2 . hasnext()){

地圖。條目& lt整數,?字符串& gt?入門?=?iterator 2 . next();

整數?鑰匙?=?entry . getkey();

字符串?價值?=?entry . getvalue();

system . out . println(key+“:“+value);

}

}操作效果: