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

    主站蜘蛛池模板: 国产精品亚洲综合天堂夜夜| 综合久久给合久久狠狠狠97色| 在线亚洲97se亚洲综合在线 | av一本久道久久综合久久鬼色| 国产成人综合久久| 琪琪五月天综合婷婷| 99久久综合狠狠综合久久aⅴ| 色综合久久天天综合| 一本大道加勒比久久综合| 国产成人久久精品77777综合| 色久悠悠婷婷综合在线亚洲| 国产性天天综合网| 亚洲小说图区综合在线| 婷婷综合久久中文字幕蜜桃三电影| 一本一道久久综合久久| 久久精品国产91久久综合麻豆自制| 色综合久久久无码中文字幕波多 | 亚洲欧洲国产成人综合在线观看| 亚洲欧洲国产综合| 综合久久国产九一剧情麻豆| 色老头综合免费视频| 色噜噜狠狠狠狠色综合久不| 婷婷五月综合激情| 91精品国产综合久久青草| 亚洲综合另类小说色区| 久久久久噜噜噜亚洲熟女综合 | 一本久久a久久精品综合夜夜| 狠狠色狠狠色综合日日不卡| 亚洲国产婷婷综合在线精品| 色噜噜狠狠色综合中国| 色偷偷狠狠色综合网| 亚洲欧洲国产成人综合在线观看| 亚洲综合精品网站| 国产色综合一区二区三区| 色婷婷综合久久久久中文 | 久久九九精品国产综合喷水| 情人伊人久久综合亚洲| 狼狼综合久久久久综合网| 一本色道久久综合| 小说区图片区综合久久88| 综合激情五月综合激情五月激情1|