1. <bdo id="8zfej"></bdo>
    <li id="8zfej"><meter id="8zfej"><th id="8zfej"></th></meter></li>

    南京北大青鳥

    全國咨詢電話:15195455103

    三分鐘了解北大青鳥
    當前位置:南京北大青鳥 > 學習園地 > 編程技巧

    Java中的兩個ArrayList

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

    ArrayList是List接口的可變數組的實現。實現了所有可選列表操作,并允許包括 null 在內的所有元素。

      1. java.util.ArrayList

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

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

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

      java.util.ArrayList底層的數據保存是通過靜態數組來實現的,ArrayList在實例化時會構造一個默認大小10個或者構造函數指定大小的數組,當ArrayList大小變化時,ArrayList底層是通過Arrays.copyOf數組深拷貝實例化一個新的靜態數組來完成大小變化的,此操作會占用大量cpu,同時舊的數組占用的內存也需要GC來回收。因此,在向ArrayList增加大量元素操作時,好先調整好ArrayList到目標大小。

      ArrayList中的操作有:

      set

      add

      addAll

      ensureCapacity(int minCapacity)

      remove(int index)

      remove(Object obj)

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

      2. java.util.Arrays$ArrayList

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

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


    分享到:

    上一篇:Jetty

    下一篇:軟件測試基礎知識

    近期文章

    搶試聽名額

    名額僅剩66名

    教育改變生活

    WE CHANGE LIVES

    主站蜘蛛池模板: 日韩亚洲人成在线综合日本| 一本狠狠色丁香婷婷综合久久| 一本久道综合在线无码人妻| 亚洲av日韩综合一区二区三区 | 中文网丁香综合网| 国产成人综合网在线观看| 色综合合久久天天综合绕视看| 狠狠综合久久久久综合小说网| 亚洲乱码中文字幕综合234| 久久亚洲综合色一区二区三区| 小说区 图片区色 综合区| 伊人狠狠色丁香综合尤物| 亚洲人成综合网站7777香蕉| 色噜噜狠狠狠综合曰曰曰| 99久久综合精品五月天| 亚洲人成伊人成综合网久久久| 狠狠色成人综合网图片区| 久久综合中文字幕| 亚洲综合最新无码专区| 亚洲国产精品成人综合色在线 | 天天欲色成人综合网站| 亚洲欧洲日产国产综合网| 亚洲国产日韩成人综合天堂| 亚洲欧洲国产综合AV无码久久| 天堂久久天堂AV色综合| 亚洲乱码中文字幕综合| 伊人亚洲综合青草青草久热| 色婷婷99综合久久久精品| 亚洲国产日韩综合久久精品| 色婷婷综合久久久| 色天使亚洲综合在线观看| 亚洲综合区图片小说区| 久久综合香蕉国产蜜臀AV| 亚洲综合综合在线| 六月婷婷国产精品综合| 国产成人亚洲综合一区| 婷婷亚洲综合五月天小说在线| 色噜噜狠狠色综合欧洲selulu | 在线亚洲97se亚洲综合在线| 天天综合天天看夜夜添狠狠玩 | 伊人色综合久久天天五月婷 |