數組對于每一門編程語言來說都是重要的數據結構之一,當然不同語言對數組的實現及處理也不盡相同。
創新互聯建站主營冷水江網站建設的網絡公司,主營網站建設方案,成都APP應用開發,冷水江h5重慶小程序開發搭建,冷水江網站營銷推廣歡迎冷水江等地區企業咨詢
Java 語言中提供的數組是用來存儲固定大小的同類型元素。
你可以聲明一個數組變量,如 numbers[100] 來代替直接聲明 100 個獨立變量 number0,number1,....,number99。
ArrayList 是一個數組隊列,相當于 動態數組。與Java中的數組相比,它的容量能動態增長。它繼承于AbstractList,實現了List, RandomAccess, Cloneable, java.io.Serializable這些接口。
ArrayList 繼承了AbstractList,實現了List。它是一個數組隊列,提供了相關的添加、刪除、修改、遍歷等功能。
ArrayList 實現了RandmoAccess接口,即提供了隨機訪問功能。RandmoAccess是java中用來被List實現,為List提供快速訪問功能的。在ArrayList中,我們即可以通過元素的序號快速獲取元素對象;這就是快速隨機訪問。稍后,我們會比較List的“快速隨機訪問”和“通過Iterator迭代器訪問”的效率。
列表(ArrayList)是對數組(Array)的一個加強,分配數組列表和創建數組的方式如下:
分配數組列表:
new ArrayList<Employee>(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。
以上就是java中的數組(Array)與列表(ArrayList)的區別的詳細內容,更多請關注創新互聯其它相關文章!
當前名稱:java中的Array和ArrayList有什么區別
當前鏈接:http://vcdvsql.cn/article0/pehiio.html
成都網站建設公司_創新互聯,為您提供品牌網站制作、響應式網站、移動網站建設、App設計、網站導航、ChatGPT
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯