2013-05-21 19 views
1

默認情況下,當我們創建一個arrayList而不指定其大小時,它會在內存中創建一個包含10個元素的數組,但我的問題是,如果我們創建了一個像 List lst = new ArrayList();非定製Arraylist定義多少空間

lst在內存中將保留多少字節?

回答

1

ArrayList的默認容量與泛型沒有任何關係。

如果不指定容量,則默認容量爲10.將創建一個由10個元素組成的Object數組,其中包含空值。對象數組只是對象引用的數組。

對象引用的內存開銷取決於程序運行的平臺(通常在64位操作系統上是8個字節,在32位操作系統上是4個字節)。

0

Java泛型被刪除(未通知)。實例構造爲

  • new ArrayList()
  • new ArrayList<Object>()
  • new ArrayList<Integer>()

是在運行時相同。