java中的數組(Array)與列表(ArrayList)的區別


列表(ArrayList)是對數組(Array)的一個加強,分配數組列表和創建數組的方式如下:

分配數組列表:

new ArrayList(100);

創建數組:

new Employee[100];

兩者之間的區別:

一:空間大小

1、Array的空間大小是固定的,空間不夠時也不能再次申請,所以需要事前確定合適的空間大小。

2、ArrayList的空間是動態增長的,如果空間不夠,它會創建一個空間比原空間大0.5倍的新數組,然后將所有元素復制到新數組中,接着拋棄舊數組。而且,每次添加新的元素的時候都會檢查內部數組的空間是否足夠。

二:存儲內容

1、Array數組可以包含基本類型和對象類型。

2、ArrayList卻只能包含對象類型。

需要注意的是:Array數組在存放的時候一定是同種類型的元素。ArrayList就不一定了,因為ArrayList可以存儲Object。

三:方法

ArrayList作為Array的增強版,當然是在方法上比Array多樣化。比如添加全部addAll()、刪除全部removeAll()、返回迭代器iterator()等。

適用場景:

如果想要保存一些在整個程序運行期間都會存在而且不變的數據,我們可以將它們放進一個全局數組里,但是如果我們單純只是想要以數組的形式保存數據,而不對數據進行增加等操作,只是方便我們進行查找的話,那么,我們就可以選擇ArrayList。

而且還有一個地方是必須知道的,就是如果我們需要對元素進行頻繁的移動或刪除,或者處理的是超大量的數據,那么,使用ArrayList就真的不是一個好的選擇,因為它的效率很低,使用數組進行這樣的動作就很麻煩,那么,我們可以考慮選擇LinkedList。

··············不足之處,望大神評論指教


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM