潍坊中小型网站建设公司,凡客公司,wordpress mysql8.0,吉林有做网站的吗Java ArrayList与LinkedList数据结构和特点
1. ArrayList 数据结构#xff1a; ArrayList低层是实现的是一个Object类型的数组#xff08;空间连续#xff0c;类型相同#xff09;当我们调用ArrayList无参构造方法#xff0c;将会创建一个Object类型的**空**数组当我们第…Java ArrayList与LinkedList数据结构和特点
1. ArrayList 数据结构 ArrayList低层是实现的是一个Object类型的数组空间连续类型相同当我们调用ArrayList无参构造方法将会创建一个Object类型的**空**数组当我们第一次添加元素的时候数组的长度会被修改为10后续添加元素如果数组长度不够则扩容扩容为原数组的1.5倍 特点有序可重复允许元素为null 查询修改快可以通过下标一次查询定位元素所以效率高增加删除慢数组的空间是连续的移动某个元素时其余大部分数组也会移动所以效率低线程不安全 2.LinkedList 数据结构 LinkedList低层是双向链表链表中的每一个元素称呼为一个Node节点每个Node包含三部分:上个元素的引用、下一个元素的引用、当前元素本身 特点有序空间不连续允许元素为null允许重复线程不安全 增加删除快不需要移动元素改变引用指向也不需要扩容改变引用指向因此效率较高查询修改慢因为链表不能直接定位到某个元素必须找到相邻的元素所以查询效率低同理修改效率也低 注意get(int index)方法中对下标查询做了优化如果是大于等于长度则从后往前找否则从前往后找以提高查询效率但是依然很慢