1. gzyueqian
      13352868059

      粵嵌Java教程:ArrayList和Vector的區(qū)別

      更新時間: 2018-07-20 14:52:55來源: 粵嵌教育瀏覽量:4988

        我們在學習Java教程的時候,會遇到ArrayList和Vector,一部分對對于這兩者經(jīng)常會混淆,因此粵嵌從它們的同步性和數(shù)據(jù)增長兩個方面對其進行區(qū)分,供參考:

        (1)同步性:

        Vector 是線程安全的,也就是說是它的方法之間是線程同步的,而 ArrayList 是線程序不安全的,它的方法之間是線程不同步的。

        如果只有一個線程會訪問到集合,那是使用ArrayList,因為它不考慮線程安全,效率會高些;

        如果有多個線程會訪問到集合,那是使用Vector,因為不需要我們自己再去考慮和編寫線程安全的代碼。

        (2)數(shù)據(jù)增長:

        ArrayList 與 Vector都有一個初始的容量大小,當存儲進它們里面的元素的個數(shù)超過了容量時,就需要增加ArrayList 與 Vector 的存儲空間,每次要增加存儲空間時,不是只增加一個存儲單元,而是增加多個存儲單元,每次增加的存儲單元的個數(shù)在內(nèi)存空間利用與程序效率之間要取得一定的平衡。

        Java教程中Vector則默認增長為原來兩倍,而 ArrayList 的增長策略在文檔中沒有明確規(guī)定(從源代碼看到的是增長為原來的1.5倍)。

        ArrayList 與 Vector 都可以設(shè)置初始的空間大小,Vector 還可以設(shè)置增長的空間大小,而 ArrayList 沒有提供設(shè)置增長空間的方法。即 Vector 增長原來的一倍,ArrayList 增加原來的0.5倍。

        現(xiàn)在大家對ArrayList和Vector的區(qū)別應該有了大致的認識,如果還沒有搞清楚用法,建議大家來粵嵌接受專業(yè)Java教程的指導,讓自己的實力穩(wěn)步提高,從而脫穎而出。




      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 婷婷久久丁香五月综合色 | 亚洲午夜福利在线观看 | 色天使久久综合给合久久 | 日本一区二区高清片片 | 亚洲中文无线乱码在线观看 | 色综合视频一区中文字幕 |