第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在 Java 中更新包含哈希映射的哈希映射的特定值

在 Java 中更新包含哈希映射的哈希映射的特定值

有只小跳蛙 2021-08-19 18:49:05
我有一個(gè)outerMap,其中包含它獲得的每個(gè)鍵的innerMap。起初,每個(gè)innerMap 都是相同的(這里,它們包含{1=1}。我想為某個(gè)鍵更改某個(gè)特定innermap 的值。這是我的代碼:public class HelloWorld{  public static void main(String args[]){        HashMap<String, HashMap<String, Integer>> outerMap = new HashMap<String, HashMap<String, Integer>>();        HashMap<String, Integer> innerMap = new HashMap<String, Integer>();        outerMap.put("1001",innerMap);        outerMap.put("1002",innerMap);        outerMap.put("1003",innerMap);            innerMap.put("1", 1); //My attempt to change only one innermap;            Map<String, Integer> map_to_change = outerMap.get("1001");            map_to_change.put("1", 0);//And then I print them to see if it's working;            for(Map.Entry map  :  outerMap.entrySet() )        {            System.out.println(map.getKey()+" "+map.getValue());        }    }}但是,這里的輸出是1003 {1=0}1002 {1=0}1001 {1=0}這表明我的代碼更改了所有內(nèi)部映射,而不僅僅是與鍵“1001”鏈接的內(nèi)部映射。我能做什么?
查看完整描述

1 回答

?
拉丁的傳說

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊

您都指向相同innerMap的對(duì)象outerMap,


outerMap.put("1001",new HashMap<String, Integer>());//create separate maps

outerMap.put("1002",new HashMap<String, Integer>());

outerMap.put("1003",new HashMap<String, Integer>());


HashMap<String, Integer> innerMap =outerMap.get("1001");//get the map you want to put value

innerMap.put("1", 1);//assign the value

更新:

如果要保留Map已創(chuàng)建的副本,Map可以使用putAll方法從中復(fù)制并創(chuàng)建新副本,


outerMap.put("1001",copyMap(innerMap));

outerMap.put("1002",copyMap(innerMap));

outerMap.put("1003",copyMap(innerMap));

copyMap 方法看起來像,


private static HashMap<String, Integer> copyMap(HashMap<String, Integer> innerMap){

    HashMap<String, Integer> copiedInnerMap = new HashMap<String, Integer>();

    copiedInnerMap.putAll(innerMap);

    return copiedInnerMap;

}


查看完整回答
反對(duì) 回復(fù) 2021-08-19
  • 1 回答
  • 0 關(guān)注
  • 191 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)