国产精品毛片一区二区,欧美熟妇brazzers,丰满女邻居的嫩苞张开视频,天天爽夜夜爽夜夜爽

南京北大青鳥

全國咨詢電話:15195455103

三分鐘了解北大青鳥
當(dāng)前位置:南京北大青鳥 > 學(xué)習(xí)園地 > 編程技巧

Java中的兩個ArrayList

來源:北大青鳥? ? ? 作者:等待 ? ??

ArrayList是List接口的可變數(shù)組的實現(xiàn)。實現(xiàn)了所有可選列表操作,并允許包括 null 在內(nèi)的所有元素。

  1. java.util.ArrayList

  ArrayList是List接口的可變數(shù)組的實現(xiàn)。實現(xiàn)了所有可選列表操作,并允許包括 null 在內(nèi)的所有元素。除了實現(xiàn) List 接口外,此類還提供一些方法來操作內(nèi)部用來存儲列表的數(shù)組的大小。

  每個ArrayList實例都有一個容量,該容量是指用來存儲列表元素的數(shù)組的大小。它總是至少等于列表的大小。隨著向ArrayList中不斷添加元素,其容量也自動增長。自動增長會帶來數(shù)據(jù)向新數(shù)組的重新拷貝,因此,如果可預(yù)知數(shù)據(jù)量的多少,可在構(gòu)造ArrayList時指定其容量。在添加大量元素前,應(yīng)用程序也可以使用ensureCapacity操作來增加ArrayList實例的容量,這可以減少遞增式再分配的數(shù)量。

  ArrayList不是同步的。如果多個線程同時訪問一個ArrayList實例,而其中至少一個線程從結(jié)構(gòu)上修改了列表,那么它必須保持外部同步。

  java.util.ArrayList底層的數(shù)據(jù)保存是通過靜態(tài)數(shù)組來實現(xiàn)的,ArrayList在實例化時會構(gòu)造一個默認(rèn)大小10個或者構(gòu)造函數(shù)指定大小的數(shù)組,當(dāng)ArrayList大小變化時,ArrayList底層是通過Arrays.copyOf數(shù)組深拷貝實例化一個新的靜態(tài)數(shù)組來完成大小變化的,此操作會占用大量cpu,同時舊的數(shù)組占用的內(nèi)存也需要GC來回收。因此,在向ArrayList增加大量元素操作時,好先調(diào)整好ArrayList到目標(biāo)大小。

  ArrayList中的操作有:

  set

  add

  addAll

  ensureCapacity(int minCapacity)

  remove(int index)

  remove(Object obj)

  數(shù)組擴(kuò)容通過一個公開的方法ensureCapacity(int minCapacity)來實現(xiàn)。在實際添加大量元素前,我也可以使用ensureCapacity來手動增加ArrayList實例的容量,以減少遞增式再分配的數(shù)量。數(shù)組擴(kuò)容通過一個公開的方法ensureCapacity(int minCapacity)來實現(xiàn)。在實際添加大量元素前,我也可以使用ensureCapacity來手動增加ArrayList實例的容量,以減少遞增式再分配的數(shù)量。

  2. java.util.Arrays$ArrayList

  Arrays$ArrayList和ArrayList都是繼承AbstractList,remove,add等method在AbstractList中是默認(rèn)throw UnsupportedOperationException而且不作任何操作。java.util.ArrayList override這些method來對list進(jìn)行操作,但是Arrays$ArrayList沒有override remove(),add()等,所以throw UnsupportedOperationException。

  靜態(tài)數(shù)組在使用Arrays.asList()返回的ArrayList就是java.util.Arrays$ArrayList對象,調(diào)用add,remove這些method時出現(xiàn)java.lang.UnsupportedOperationException異常。java.util.Arrays$ArrayList繼承了靜態(tài)數(shù)組 大小 固定不變的特性。


分享到:

上一篇:Jetty

下一篇:軟件測試基礎(chǔ)知識

近期文章

搶試聽名額

名額僅剩66名

教育改變生活

WE CHANGE LIVES