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

    南京中博教育

    全國咨詢電話:17368476151

    三分鐘了解中博教育
    當前位置:南京中博教育 > 學習園地 > 編程技巧

    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

    主站蜘蛛池模板: 热久久综合这里只有精品电影| 狠狠色综合久久婷婷| 小说区图片区综合久久88| 丁香亚洲综合五月天婷婷| 久久无码无码久久综合综合| 久久综合狠狠综合久久| 亚洲AV日韩综合一区尤物 | 久久综合九色综合91| 天天在线天天综合网色| 亚洲综合色成在线播放| 图片区精品综合自拍| 久久综合香蕉国产蜜臀AV| 色综合91久久精品中文字幕| 伊人久久综合热线大杳蕉下载| 婷婷六月久久综合丁香76| 色综合天天综合给合国产| 激情综合婷婷丁香五月| 香蕉综合在线视频91| 综合欧美五月丁香五月| 色综合天天做天天爱| 一本一道久久精品综合| 亚洲丁香色婷婷综合欲色啪| 青青草原综合久久大伊人| 国产综合精品蜜芽| 少妇人妻综合久久中文字幕| 一本久道久久综合多人| 天天做天天爱天天爽综合网| 狠狠色丁香久久婷婷综合图片| 精品综合久久久久久888蜜芽| 久久综合综合久久狠狠狠97色88| 日日狠狠久久偷偷色综合免费| 久久久久久久综合综合狠狠| 97se色综合一区二区二区| 狠狠色丁香久久婷婷综合蜜芽五月| 久久99国产综合精品女同| 在线综合亚洲欧洲综合网站| 在线综合亚洲中文精品| 色偷偷狠狠色综合网| 国产成人精品久久综合| 人人狠狠综合久久亚洲婷婷| 久久婷婷五夜综合色频|