91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java集合中clear與new Map的區別是什么

發布時間:2021-01-30 16:06:22 來源:億速云 閱讀:187 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關Java集合中clear與new Map的區別是什么,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

對于clear與new Map的區別。我們首先來看一個例子,本例子是我在實際開發中遇到的,需求就是講map放入到list中,說白了就是list轉map,有兩種實現方式,分別是:

// 方案一
Map<Integer, Integer> map1 = new HashMap<>();
List<Map<Integer, Integer>> list1 = new ArrayList<>();

for (int i = 0; i < 5; i++) {
  map1.clear();
  map1.put(i, i * 2);
  list1.add(map1);
}
// 方案二
Map<Integer, Integer> map2 = null;
List<Map<Integer, Integer>> list2 = new ArrayList<>();

for (int i = 0; i < 5; i++) {
  map2 = new HashMap<>();
  map2.put(i, i * 2);
  list2.add(map2);
}

大家可以猜猜上面代碼執行的結果。與你們猜想的一致么。

Java集合中clear與new Map的區別是什么

解釋:

方案一,我們只是把map.clear了(查看clear的源碼,clear的作用是把map里每個屬性設置為null,并把map的長度設置為0)。并沒有銷毀,map的指針還是存儲在list里面了,所以后面新add到list里面的東西都是同一個map,都是指向同一個map,list里面存儲的是map的指針;

方案二,不用我說了,每次創建新的map,每次都是不同的指針,

所以編碼的時候要注意了。

關于Java集合中clear與new Map的區別是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

敦煌市| 木里| 宽城| 吉安市| 南安市| 固原市| 平凉市| 静乐县| 共和县| 泗洪县| 老河口市| 霞浦县| 山丹县| 公主岭市| 甘南县| 金平| 湘阴县| 晋城| 措勤县| 汉川市| 衡南县| 竹山县| 天镇县| 内乡县| 万山特区| 平舆县| 泸定县| 垣曲县| 樟树市| 夹江县| 江永县| 安乡县| 安西县| 钦州市| 阳山县| 东宁县| 吕梁市| 昌平区| 天水市| 密山市| 石林|