一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java ArrayList和Vector的區別詳解

java ArrayList和Vector的區別詳解

2020-06-29 11:22志哥 JAVA教程

這篇文章主要介紹了java ArrayList和Vector的區別詳解的相關資料,并附簡單實例代碼,需要的朋友可以參考下

 ArrayListVector的區別

相同點:

1、ArrayList和Vector都是繼承了相同的父類和實現了相同的接口

2、底層都是數組實現的

3、初始默認長度都為10。

不同點:

1、同步性:

Vector中的public方法多數添加了synchronized關鍵字,以確保方法同步,也即是Vector線程安全,ArrayList線程不安全。

2、擴容不同

內部屬性不同,這可能是導致擴容方式不同的原因所在。

ArrayList有兩個屬性,存儲數據的數組elementData,和存儲記錄數目的size。

Vector有三個屬性,存儲數據的數組elementData,存儲記錄數目的elementCount,還有擴展數組大小的擴展因子capacityIncrement。

ArrayList的擴展方法

java" id="highlighter_434023">
?
1
2
3
4
5
6
7
8
9
10
11
12
//jdk1.8.0_91
private void grow(int minCapacity) {
    // overflow-conscious code
    int oldCapacity = elementData.length;
    int newCapacity = oldCapacity + (oldCapacity >> 1);
    if (newCapacity - minCapacity < 0)
      newCapacity = minCapacity;
    if (newCapacity - MAX_ARRAY_SIZE > 0)
      newCapacity = hugeCapacity(minCapacity);
    // minCapacity is usually close to size, so this is a win:
    elementData = Arrays.copyOf(elementData, newCapacity);
  }

可以看出,在滿足擴容條件時,擴展后數組大小為原數組長度的1.5倍與傳遞參數中較大者

Vector的擴展方法

?
1
2
3
4
5
6
7
8
9
10
11
12
//jdk1.8.0_91
private void grow(int minCapacity) {
    // overflow-conscious code
    int oldCapacity = elementData.length;
    int newCapacity = oldCapacity + ((capacityIncrement > 0) ?
                     capacityIncrement : oldCapacity);
    if (newCapacity - minCapacity < 0)
      newCapacity = minCapacity;
    if (newCapacity - MAX_ARRAY_SIZE > 0)
      newCapacity = hugeCapacity(minCapacity);
    elementData = Arrays.copyOf(elementData, newCapacity);
  }

可以看出,當擴容因子大于0時,新數組長度為原數組長度+擴容因子,否則子新數組長度為原數組長度的2倍。 將上面生成的新數組長度與傳遞的參數長度作比較,較大者為最終的新長度。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲欧洲日产国码天堂 | 欧美聚众性派对hdsex | 99久久99热久久精品免 | 1024免费观看完整版在线播放 | 五月丁香啪啪. | 91精品国产综合久久精品 | 男人躁女人过程 | 免费看一区二区三区 | 国产高清自拍 | caoporn国产 | 波多野结中文字幕在线69视频 | 国产午夜亚洲精品一区网站 | 天天做天天玩天天爽天天 | 边摸边吃奶玩乳尖视频 | 日本在线观看a | 欧洲老妇人70 | 日韩精品欧美高清区 | 国产探花在线观看 | chinesemature精品 chinesefree普通对话 | 俄罗斯12一15处交 | 四虎b7s22c0m | 日本又大又硬又粗的视频 | 高中生喷水喷浆 | 色哟约| 国产高清在线精品一区二区三区 | 美女私人影院 | 日本韩国推理片免费观看网站 | 欧美一区二区三区高清不卡tv | 国产成人亚洲精品91专区高清 | 亚洲精品综合一区二区 | 国产真实乱子伦xxxxchina | 俄罗斯12一15处交 | 97综合| 免费观看的毛片 | 青青在线观看视频 | 97精品国产高清在线看入口 | 99久久999久久久综合精品涩 | 日一日操一操 | 99久久免费国产精品热 | 四虎影视永久在线精品免费 | 污小说免费 |