首先,二者都属于数据结构的范畴。
数组一旦初始化,长度就不能改变。链表长度可以改变,可以动态的增加节点数据,操作比较灵活;
数组是可以有一维二维三维。。。属于非线性结构,链表是线性结构;
数组访问元素依靠下角标,比如查找第n是数据,直接arrn-1,时间复杂度是O(1)。链表访问元素得从头开始依次查找,根据引用找到下一个节点,时间复杂度是O(n);
数组插入删除中间数据比较麻烦,时间复杂度是O(n)。链表插入删除比较方便,时间复杂度是O(1);
所以如果需要快速访问数据并且涉及很少插入删除操作那么就选用数组。如果涉及比较多的删除插入那么选用链表;
数组在栈内存中存储引用,在堆内存中存储对象。链表存储在堆内存中,由于存储在堆内存中,需要手动分配内存;
数组在内存中是连续存储的,链表不是连续的。
从Java看数组和链表的区别
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1 序 2016年6月25日夜,帝都,天下着大雨,拖着行李箱和同学在校门口照了最后一张合照,搬离寝室打车去了提前租...