創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買(mǎi)多久送多久,劃算不套路!
這篇文章將為大家詳細(xì)講解有關(guān)Java中ArrayList和LinkedList區(qū)別是什么,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
一:ArrayList和LinkedList的大致區(qū)別如下:
1.ArrayList是實(shí)現(xiàn)了基于動(dòng)態(tài)數(shù)組的數(shù)據(jù)結(jié)構(gòu),ArrayList實(shí)現(xiàn)了長(zhǎng)度可變的數(shù)組,在內(nèi)存中分配連續(xù)的空間。遍歷元素和隨機(jī)訪問(wèn)元素的效率比較高
2.LinkedList基于鏈表的數(shù)據(jù)結(jié)構(gòu), 插入、刪除元素時(shí)效率比較高 故:【插入、刪除操作頻繁時(shí),可使用LinkedList來(lái)提高效率】
LinkedList提供對(duì)頭部和尾部元素進(jìn)行添加和刪除操作的方法,插入/刪除第一個(gè)和最后一個(gè)效率比較高;
3:ArrayList和LinkedList都是List接口的實(shí)現(xiàn),都存儲(chǔ)一組不唯一,有序(插入順序)的對(duì)象, 對(duì)元素進(jìn)行添加、刪除等操作[ 即:List的性質(zhì)]
4.對(duì)于隨機(jī)訪問(wèn)get和set,ArrayList覺(jué)得優(yōu)于LinkedList,因?yàn)長(zhǎng)inkedList要移動(dòng)指針。
5.對(duì)于新增和刪除操作add和remove,LinedList比較占優(yōu)勢(shì),因?yàn)锳rrayList要移動(dòng)數(shù)據(jù)。
6:LinkedList比ArrayList更占內(nèi)存
eg:(代碼示例01)----ArrayList與LinkedLis的數(shù)據(jù)添加和查找耗時(shí)對(duì)比
import java.util.ArrayList; import java.util.LinkedList; import java.util.List; public class HFSD { static final int N=50000; //添加5000條數(shù)據(jù) static long timeList(List list){ //添加數(shù)據(jù)所需時(shí)間 long start=System.currentTimeMillis(); Object o = new Object(); for(int i=0;i<N;i++) { list.add(0, o); } return System.currentTimeMillis()-start; } static long readList(List list){ //查找數(shù)據(jù)所需時(shí)間 long start=System.currentTimeMillis(); for(int i=0,j=list.size();i<j;i++){ } return System.currentTimeMillis()-start; } static List addList(List list){ Object o = new Object(); for(int i=0;i<N;i++) { list.add(0, o); } return list; } public static void main(String[] args) { System.out.println("ArrayList添加"+N+"條耗時(shí):"+timeList(new ArrayList())); System.out.println("LinkedList添加"+N+"條耗時(shí):"+timeList(new LinkedList())); List list1=addList(new ArrayList<>()); List list2=addList(new LinkedList<>()); System.out.println("ArrayList查找"+N+"條耗時(shí):"+readList(list1)); System.out.println("LinkedList查找"+N+"條耗時(shí):"+readList(list2)); }
文章標(biāo)題:Java中ArrayList和LinkedList區(qū)別是什么-創(chuàng)新互聯(lián)
當(dāng)前地址:http://aaarwkj.com/article28/cchpcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、虛擬主機(jī)、軟件開(kāi)發(fā)、外貿(mào)網(wǎng)站建設(shè)、服務(wù)器托管、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容