list和arraylist的區(qū)別 List和ArrayList的區(qū)別?
List和ArrayList的區(qū)別?Java中l(wèi)ist和ArrayList的區(qū)別如下:list是一個(gè)接口,list功能是有序的,它確保元素按一定的順序保存。ArrayList是它的實(shí)現(xiàn)類,它是由arr
List和ArrayList的區(qū)別?
Java中l(wèi)ist和ArrayList的區(qū)別如下:list是一個(gè)接口,list功能是有序的,它確保元素按一定的順序保存。ArrayList是它的實(shí)現(xiàn)類,它是由array實(shí)現(xiàn)的列表。用法:例如:List=new arraylist(),原因是List等效于泛型實(shí)現(xiàn)。如果要更改列表的類型,只需:list=new LinkedList()//LinkedList也是list的實(shí)現(xiàn)類和ArrayList的兄弟類
ArrayList:ArrayList是名稱空間系統(tǒng)集合在下一部分中,您必須在使用該類時(shí)引用它。同時(shí),它繼承了IList接口并提供數(shù)據(jù)存儲(chǔ)和檢索。ArrayList對(duì)象的大小根據(jù)存儲(chǔ)在其中的數(shù)據(jù)進(jìn)行動(dòng)態(tài)擴(kuò)展和收縮。因此,在聲明ArrayList對(duì)象時(shí)不需要指定其長度。所有添加的數(shù)據(jù)都是對(duì)象,需要裝箱和解包。泛型列表:列表是一個(gè)命名空間系統(tǒng).集合.通用針對(duì)ArrayList中不安全類型和裝箱的缺點(diǎn),引入了泛型的概念。list類是ArrayList類的泛型等價(jià)物。它的大部分用法類似于ArrayList,因?yàn)閘ist類還繼承了IList接口。關(guān)鍵區(qū)別在于,在聲明列表集合時(shí),還需要聲明列表集合中數(shù)據(jù)的對(duì)象類型。簡而言之:它們都是收藏。ArrayList類型不安全。因?yàn)樘砑拥臄?shù)據(jù)是對(duì)象類型的,所以需要對(duì)其進(jìn)行裝箱和解包,這樣效率很低。List:類型是在聲明時(shí)確定的,因此它是類型安全的,它節(jié)省了打包和解包的過程,并且比ArrayList更高效。