這篇文章將為大家詳細講解有關(guān)Java集合中clear與new Map的區(qū)別是什么,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
對于clear與new Map的區(qū)別。我們首先來看一個例子,本例子是我在實際開發(fā)中遇到的,需求就是講map放入到list中,說白了就是list轉(zhuǎn)map,有兩種實現(xiàn)方式,分別是:
// 方案一 Mapmap1 = new HashMap<>(); List
// 方案二 Mapmap2 = null; List
大家可以猜猜上面代碼執(zhí)行的結(jié)果。與你們猜想的一致么。
解釋:
方案一,我們只是把map.clear了(查看clear的源碼,clear的作用是把map里每個屬性設(shè)置為null,并把map的長度設(shè)置為0)。并沒有銷毀,map的指針還是存儲在list里面了,所以后面新add到list里面的東西都是同一個map,都是指向同一個map,list里面存儲的是map的指針;
方案二,不用我說了,每次創(chuàng)建新的map,每次都是不同的指針,
所以編碼的時候要注意了。
關(guān)于Java集合中clear與new Map的區(qū)別是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。