日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Vector和ArrayList区别

發(fā)布時(shí)間:2024/4/14 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vector和ArrayList区别 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Vector和ArrayList在使用上非常相似,都可用來(lái)表示一組數(shù)量可變的對(duì)象應(yīng)用的集合,并且可以隨機(jī)地訪(fǎng)問(wèn)其中的元素。?
 Vector的方法都是同步的(Synchronized),是線(xiàn)程安全的(thread-safe),而ArrayList的方法不是,由于線(xiàn)程的同步必然要影響性能,因此,ArrayList的性能比Vector好。
 當(dāng)Vector或ArrayList中的元素超過(guò)它的初始大小時(shí),Vector會(huì)將它的容量翻倍,而ArrayList只增加50%的大小,這樣,ArrayList就有利于節(jié)約內(nèi)存空間。
Hashtable和HashMap區(qū)別
 Hashtable和HashMap它們的性能方面的比較類(lèi)似 Vector和ArrayList,比如Hashtable的方法是同步的,而HashMap的不是。
ArrayList和LinkedList區(qū)別
 對(duì)于處理一列數(shù)據(jù)項(xiàng),Java提供了兩個(gè)類(lèi)ArrayList和LinkedList,ArrayList的內(nèi)部實(shí)現(xiàn)是基于內(nèi)部數(shù)組Object[],所以從概念上講,它更象數(shù)組,但LinkedList的內(nèi)部實(shí)現(xiàn)是基于一組連接的記錄,所以,它更象一個(gè)鏈表結(jié)構(gòu),所以,它們?cè)谛阅苌嫌泻艽蟮牟顒e。?
 從上面的分析可知,在A(yíng)rrayList的前面或中間插入數(shù)據(jù)時(shí),你必須將其后的所有數(shù)據(jù)相應(yīng)的后移,這樣必然要花費(fèi)較多時(shí)間,所以,當(dāng)你的操作是在一列數(shù)據(jù)的后面添加數(shù)據(jù)而不是在前面或中間,并且需要隨機(jī)地訪(fǎng)問(wèn)其中的元素時(shí),使用ArrayList會(huì)提供比較好的性能
 而訪(fǎng)問(wèn)鏈表中的某個(gè)元素時(shí),就必須從鏈表的一端開(kāi)始沿著連接方向一個(gè)一個(gè)元素地去查找,直到找到所需的元素為止,所以,當(dāng)你的操作是在一列數(shù)據(jù)的前面或中間添加或刪除數(shù)據(jù),并且按照順序訪(fǎng)問(wèn)其中的元素時(shí),就應(yīng)該使用LinkedList了。?
 如果在編程中,1,2兩種情形交替出現(xiàn),這時(shí),你可以考慮使用List這樣的通用接口,而不用關(guān)心具體的實(shí)現(xiàn),在具體的情形下,它的性能由具體的實(shí)現(xiàn)來(lái)保證。
 配置集合類(lèi)的初始大小?
 在Java集合框架中的大部分類(lèi)的大小是可以隨著元素個(gè)數(shù)的增加而相應(yīng)的增加的,我們似乎不用關(guān)心它的初始大小,但如果我們考慮類(lèi)的性能問(wèn)題時(shí),就一定要考慮盡可能地設(shè)置好集合對(duì)象的初始大小,這將大大提高代碼的性能。
 比如,Hashtable缺省的初始大小為101,載入因子為0.75,即如果其中的元素個(gè)數(shù)超過(guò)75個(gè),它就必須增加大小并重新組織元素,所以,如果你知道在創(chuàng)建一個(gè)新的Hashtable對(duì)象時(shí)就知道元素的確切數(shù)目如為110,那么,就應(yīng)將其初始大小設(shè)為110/0.75=148,這樣,就可以避免重新組織內(nèi)存并增加大小。

?

原文:http://kiddwyl.iteye.com/blog/56581

轉(zhuǎn)載于:https://www.cnblogs.com/sungyouyu/p/3749003.html

總結(jié)

以上是生活随笔為你收集整理的Vector和ArrayList区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。