java中重要的幾個常用類 為什么是List list = new ArrayList,而不直接用ArrayList?
為什么是List list = new ArrayList,而不直接用ArrayList?List是一個接口,ArrayList是一個類。ArrayList繼承并實現(xiàn)列表。List List=new
為什么是List list = new ArrayList,而不直接用ArrayList?
List是一個接口,ArrayList是一個類。
ArrayList繼承并實現(xiàn)列表。List List=new arraylist()創(chuàng)建一個arraylist對象并將其追溯到列表。此時,它是一個列表對象。不能再使用ArrayList具有但list不具有的某些屬性和方法。ArrayList=new ArrayList()創(chuàng)建一個保留ArrayList所有屬性的對象。為什么通常使用list=new arraylist()而不是arraylist=new arraylist()?問題是list有多個實現(xiàn)類,比如LinkedList或vector?,F(xiàn)在您正在使用ArrayList。也許有一天你需要切換到其他實現(xiàn)類?在這種情況下,您只需要更改這一行:List=newlinkedlist()其他使用List的代碼根本不需要更改。假設您開始使用ArrayList=new ArrayList(),您已經(jīng)做了一些更改,特別是在使用特定于ArrayList的方法和屬性時。這就是面向接口編程的優(yōu)點
Java中l(wèi)ist和ArrayList的區(qū)別在于:list是一個接口,list特性是有序的,它保證了元素按一定的順序保存。ArrayList是它的實現(xiàn)類,它是由array實現(xiàn)的列表。用法:例如:List=new arraylist(),原因是List等效于泛型實現(xiàn)。如果要更改列表的類型,只需:list=new linkedlist()//linkedlist也是list的實現(xiàn)類和ArrayList的兄弟類