如果我沒有弄錯,ArrayList包含存儲位置的值,其中存儲了添加到列表中的變量。所以,我的假設是,當你調用ArrayList.clear()方法時,它只釋放前面提到的值(內存位置),但不會釋放這些內存位置本身。我會盡力來說明這一個例子:ArrayList.clear()方法是否釋放內存?
比方說,你已經得到的記憶當前狀態:
[Memory location] (type of variable) *value*
[1000] (int) 32
[1002] (int) 12
[1003] (float) 2.5
而且您將它們添加到列表myList中,所以它包含指向1000, 1002,1003個存儲位置。
當您調用myList.clear()時,指針將被取消,但內存位置1000,1002,1003仍將包含先前給定的值。我錯了嗎?
http://stackoverflow.com/questions/6757868/map-clear-vs-new-map-which-one-will-be-better可以幫助你 –
請注意,'ArrayList'永遠不會包含像'int'這樣的基本類型,但是像Integer這樣的對象。這最終對於答案是相當重要的。 –