List與ArrayList起頭的區別

2021-07-06 11:30:49 字數 748 閱讀 5816

當宣告為list list = new arraylist()時,這句話建立了乙個arraylist的物件,然後把它上溯至list,此時它是個list物件,可以使用list固有的屬性和方法,但是不能使用原來arraylist的屬性。

list list = new arraylist();

list.trimtosize();//錯誤,trimtosize()為arraylist中固有方法,list介面中沒有此方法

當宣告為arraylist list = new arraylist()時,這句話建立了乙個arraylist的物件,並且保留了arraylist的所有屬性和方法。

arraylist list = new arraylist();

list.trimtosize();//正確

list是乙個介面,它有多個實現類,當你使用list開頭的宣告方式時,比如list list = new arraylist(),這時你宣告了乙個動態陣列,而當你想要換成linkedlist或者vector時,直接將宣告改為list list = new linkedlist()或list list = new vector()就可以了,因為它們使用的都是list介面中的方法和屬性,所以往後的**不需要有任何改動。但是當你使用具體類開頭的宣告方式時,比如arraylist list = new arraylist(),這時如果你在往後的**裡呼叫了arraylist中固有方法,那就要修改它們了。

ArrayList與List的區別

1.list是介面,list特性就是有序,會確保以一定的順序儲存元素.arraylist是它的實現類,是乙個用陣列實現的list.map是介面,map特性就是根據乙個物件查詢物件.hashmap是它的實現類,hashmap用hash表實現的map,就是利用物件的hashcode hashcode 是...

C 中陣列,ArrayList與List物件的區別

在c 中,當我們想要儲存一組物件的時候,就會想到用陣列,arraylist,list這三個物件了。那麼這三者到底有什麼樣的區別呢?我們先來了解一下陣列,因為陣列在c 中是最早出現的。陣列陣列有很多的優點,比如說陣列在記憶體中是連續儲存的,所以它的索引速度是非常的快,而且賦值與修改元素也很簡單,比如 ...

泛型List與非泛型ArrayList

arraylist集合的用處越來越窄了,list static void main string args arraylist的不安全性一目了然,型別不安全,必將導致各種攻擊的產生,static void main string args 相比不安全的arraylist來說,list 的型別安全性使...