合肥思讯网站建设,惠州网站建设技术托管,做pc端网站要多少钱,装饰工程预算表ArrayList#xff1a;基于动态数组#xff08;自动扩容#xff09;#xff0c;连续内存存储#xff0c;由于底层是数组#xff0c;适合使用下标进行访问#xff0c;但扩容一直都是数组的缺点#xff0c;所以使用尾插法进行扩容可以有效提高扩容效率。还有就是创建Array…ArrayList基于动态数组自动扩容连续内存存储由于底层是数组适合使用下标进行访问但扩容一直都是数组的缺点所以使用尾插法进行扩容可以有效提高扩容效率。还有就是创建ArrayList时可以预估所需要的内存空间避免减少扩容的次数利用好这两点可以极大的提高ArrayList的性能也可与LinkedList一较高下。LinkedList:基于链表可以存储在分散的内存中内存空间紧缺时的第一首选适合做数据的插入和删除不适合做查询需要逐一遍历linkedList必须使用iterator迭代器进行遍历不能使用for循环 (也不是不能使用效率低到极致没人用)因为每次使用for循环的geti进行遍历都会重新遍历,性能消耗极大。另外不能使用indexOf等返回索引使用indexOf对list进行遍历当结果为空时会遍历整个列表。注意虽然LinkedList的插入和删除很快但是它的内部维护了一个node节点内部类每次往LinkedList中新增一个数据都会创建node节点对象一旦插入的node节点过多就会非常影响LinkedList的性能。