List集合的區別
1.ArrayList:底層是基于陣列實作的,如果不指定ArrayList的大小,ArrayList會創建一個容量為10的集合(在add一個元素的時候,這個容量才會真正意義的擴容),如果add超過當前ArrayList的容量,ArrayList會進行擴容(1.5倍),ArrayList因為底層是陣列的形式,所以在隨機訪問元素的時候,效率較高,但是在洗掉和插入的時候效率偏低,ArrayList是執行緒不安全的,
2.Vector:底層和ArrayList大同小異,我感覺最大的區別就是,Vector是執行緒安全的,所以相比較與ArrayList性能較低,
3.LinKedList:底層是雙向鏈表形式實作的,因為LinKedList是雙向鏈表所以沒有大小限制,也不存在擴容的問題,LinKedList是執行緒不安全的,LinKedList的隨機訪問效率低于ArrayList,但是洗掉插入高于ArrayList,因為在LinKedList洗掉或添加元素的時候,只需要更改元素prev和next指向即可,在便利元素的時候,ArrayList最好使用for回圈的形式,LinKedList最好使用迭代器,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/276968.html
標籤:其他
上一篇:攻防世界-wp-WEB-新手區-5-disabled_button
下一篇:使用IDEA連接阿里云Redis
