中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

天柱县| 安龙县| 营口市| 安康市| 云林县| 建水县| 丹棱县| 珲春市| 宿迁市| 隆德县| 志丹县| 宜黄县| 沾益县| 泰顺县| 盐津县| 怀远县| 兴仁县| 健康| 桐庐县| 临沂市| 合江县| 陆良县| 克什克腾旗| 库尔勒市| 宿州市| 东海县| 廊坊市| 东丰县| 馆陶县| 汉中市| 新野县| 普陀区| 乌鲁木齐县| 长治县| 永靖县| 孟津县| 桦南县| 镇康县| 萍乡市| 芷江| 青田县|