2013-03-13 31 views
2

當我遇到了有關使用Java的ArrayList這次採訪的問題,我覺得這是很有趣的,但不知道如何回答這個問題:的ArrayList中的Java存儲大型對象

What attention should be paid when using arrayList to store large object? 

我不知道我們是否應該回答這個關於時間/空間複雜性的問題?

感謝

+5

我想一個ArrayList只存儲對象的引用?!所以它根本就不重要。 – sk2212 2013-03-13 09:13:07

+0

問一個關於ArrayList的'ensureCapacity()'方法的問題嗎?可能意味着大數目的**對象? – 2013-03-13 09:16:58

+0

存儲大對象不是問題,但是當您存儲大量對象時,通過重新分配數組大小,數組列表可能效率低下。 – rit 2013-03-13 09:23:39

回答

8

Java中的所有對象存儲作爲參考,在容器和變量等,所以在C++方面,所有容器只存儲指向的對象。在這種情況下,大多數情況下,對象的大小應爲無關

0

的ArrayList支持動態數組根據需要,可以長。 在Java中,數組具有固定的長度,這意味着在創建數組後,它們不能增長或縮小,這意味着您必須事先知道數組將具有多少元素。但是,有時候,您可能直到運行時才知道大小,在這種情況下我們使用ArrayList。 ArrayList可以動態增加或減少大小。數組列表是使用初始大小創建的。超過此尺寸時,收集將自動放大。當對象被刪除時,數組可能會收縮。 另外,請注意,Arraylist商店僅對象。