列表(ArrayList)是對數組(Array)的一個加強,分配數組列表和創建數組的方式如下:
分配數組列表:
new ArrayList<Employee>(100);
建立陣列:
new Employee[100];
線上影片教學推薦:java課程
兩者之間的差異:
一:空間大小
1、Array的空間大小是固定的,空間不夠時也不能再申請,所以需要事前確定合適的空間大小。
2、ArrayList的空間是動態成長的,如果空間不夠,它會創造一個空間比原空間大0.5倍的新數組,然後將所有元素複製到新數組中,接著拋棄舊數組。而且,每次加入新的元素的時候都會檢查內部數組的空間是否足夠。
二:儲存內容
1、Array陣列可以包含基本類型和物件類型。
2、ArrayList卻只能包含物件類型。
要注意的是:Array陣列在存放的時候一定是同種類型的元素。 ArrayList就不一定了,因為ArrayList可以儲存Object。
三:方法
ArrayList作為Array的增強版,當然是在方法上比Array多樣化。例如新增全部addAll()
、刪除全部removeAll()
、傳回迭代器iterator()
等。
適用場景:
如果想要保存一些在整個程式運行期間都會存在而且不變的數據,我們可以將它們放進一個全域數組裡,但是如果我們單純只是想要以數組的形式保存數據,而不對數據進行增加等操作,只是方便我們進行查找的話,那麼,我們就可以選擇ArrayList。
而且還有一個地方是必須知道的,就是如果我們需要對元素進行頻繁的移動或刪除,或者處理的是超大量的數據,那麼,使用ArrayList就真的不是一個好的選擇,因為它的效率很低,使用陣列進行這樣的動作就很麻煩,那麼,我們可以考慮選擇LinkedList。
相關文章教學推薦:java語言入門
#以上是java中的陣列(Array)與列表(ArrayList)的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!