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

    主站蜘蛛池模板: 狠狠综合久久久久综合网| 一本久道久久综合狠狠躁| 另类小说图片综合网| 国产精品免费综合一区视频| 亚洲欧洲国产成人综合在线观看| 综合在线视频精品专区| 久久99国产综合精品| 国产成人亚洲综合无| 久久无码无码久久综合综合| 热久久综合这里只有精品电影| 色综合婷婷在线观看66| 亚洲AV综合永久无码精品天堂| 亚洲欧美国产国产综合一区| 亚洲国产综合专区电影在线| 国产综合激情在线亚洲第一页| 狠狠色丁香久久婷婷综合蜜芽五月 | 欧美日韩色另类综合| 久久综合九九亚洲一区| 伊人网综合在线视频| 婷婷久久综合九色综合绿巨人| 亚洲综合一区二区| 国产精品天干天干在线综合| 麻豆精品一区二区综合av| 综合在线免费视频| 伊人情人综合成人久久网小说| 久久婷婷国产综合精品| 色婷婷综合久久久久中文一区二区 | 国产综合精品在线| 亚洲国产精品成人AV无码久久综合影院| 久久影院综合精品| 中文字幕人成无码人妻综合社区 | 狠狠色综合久久久久尤物| 天天做.天天爱.天天综合网| 亚洲综合成人婷婷五月网址| 狠狠夜色午夜久久综合热91| 狠狠88综合久久久久综合网| 综合在线视频精品专区| 色综合67194| 一本大道久久a久久综合| 亚洲综合色自拍一区| 亚洲综合无码一区二区|