一分钟了解ArrayList和Vector的区别
生活随笔
收集整理的這篇文章主要介紹了
一分钟了解ArrayList和Vector的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、是否是線程安全的
Vector是同步的, 而ArrayList不是.
因為Vector是同步的, 所以它是線程安全的.
同樣, 因為Vecotr是同步的, 所以他需要額外的開銷來維持同步鎖, 所以它要比ArrayList要慢.但僅僅是理論上說,具體測試結果二者差別十分不明顯
?
二、動態增加元素的過程
Vector允許用戶設置capacityIncrement這樣在每次需要擴充數組的size的時候, Vector會嘗試按照預先設置的capacityIncrement作為增量來設置, 而ArrayList則會把數組的大小擴大一倍.
比如現在同樣一個長度為10的Vector和ArrayList, 我們把Vector的capacityIncrement設為1
那么我們在插入第11個對象的時候, Vector會將長度變成11, 然后分配空間, 然后將對象添加進去, 而ArrayList則會分配20個對象的空間, 然后將對象添加進去.
如果capacityIncrement設為0或者負值, Vector就會做和ArrayList一樣, 每次都將數組大小擴大一倍.
?
參考自:
http://blog.csdn.net/fzh0803/article/details/6312005
總結
以上是生活随笔為你收集整理的一分钟了解ArrayList和Vector的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Juniper NetScreen 基于
- 下一篇: 创新管理