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色综合久久天堂AV色综合在| 激情97综合亚洲色婷婷五| 国产综合精品一区二区| 亚洲国产综合精品中文第一| 精品久久人人做人人爽综合| 亚洲人成综合在线播放| 激情综合色综合久久综合| 狠狠爱天天综合色欲网| 色综合久久久久久久久久| 亚洲综合av永久无码精品一区二区| 色综合久久久久久久久久| 伊人久久大香线蕉综合热线| 亚洲综合无码一区二区| 久久婷婷五月综合尤物色国产 | 一本色道久久99一综合| 熟天天做天天爱天天爽综合网| 色综合视频一区中文字幕| 五月婷婷综合免费| 天天综合天天综合| 色狠狠久久综合网| 一本大道无香蕉综合在线| 一本大道AV伊人久久综合| 国产亚洲欧洲Aⅴ综合一区| 国产天堂一区二区综合| 偷自拍视频区综合视频区| 97se亚洲国产综合自在线| 开心婷婷五月激情综合社区| 亚州AV综合色区无码一区| 三级韩国一区久久二区综合| 97久久婷婷五月综合色d啪蜜芽 | 美腿丝袜亚洲综合|