新聞中心
創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
這篇文章將為大家詳細(xì)講解有關(guān)Java中ArrayList和LinkedList區(qū)別是什么,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
一:ArrayList和LinkedList的大致區(qū)別如下:
1.ArrayList是實(shí)現(xiàn)了基于動態(tài)數(shù)組的數(shù)據(jù)結(jié)構(gòu),ArrayList實(shí)現(xiàn)了長度可變的數(shù)組,在內(nèi)存中分配連續(xù)的空間。遍歷元素和隨機(jī)訪問元素的效率比較高
2.LinkedList基于鏈表的數(shù)據(jù)結(jié)構(gòu), 插入、刪除元素時(shí)效率比較高 故:【插入、刪除操作頻繁時(shí),可使用LinkedList來提高效率】
LinkedList提供對頭部和尾部元素進(jìn)行添加和刪除操作的方法,插入/刪除第一個(gè)和最后一個(gè)效率比較高;
3:ArrayList和LinkedList都是List接口的實(shí)現(xiàn),都存儲一組不唯一,有序(插入順序)的對象, 對元素進(jìn)行添加、刪除等操作[ 即:List的性質(zhì)]
4.對于隨機(jī)訪問get和set,ArrayList覺得優(yōu)于LinkedList,因?yàn)長inkedList要移動指針。
5.對于新增和刪除操作add和remove,LinedList比較占優(yōu)勢,因?yàn)锳rrayList要移動數(shù)據(jù)。
6:LinkedList比ArrayList更占內(nèi)存
eg:(代碼示例01)----ArrayList與LinkedLis的數(shù)據(jù)添加和查找耗時(shí)對比
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()); List list2=addList(new LinkedList<>()); System.out.println("ArrayList查找"+N+"條耗時(shí):"+readList(list1)); System.out.println("LinkedList查找"+N+"條耗時(shí):"+readList(list2)); }
新聞名稱:Java中ArrayList和LinkedList區(qū)別是什么-創(chuàng)新互聯(lián)
地址分享:http://fisionsoft.com.cn/article/cchpcp.html