ArrayList和LinkedList区别
ArrayList和LinkedList都继承自List,是有序可重复集合,而List和Set又都继承自Collection。
ArrayList:底层采用数组形式存储数据,默认情况下初始化的数组长度为10,每次会扩容1.5*length+1。查询可以通过数组下标来快速找到,因此查询数据非常的快。但添加或删除可能会导致后面的元素位置都发生变化,会使操作步骤增加,因此添加或删除可能会速度较慢。
LinkedList:底层采用双向链表来存储数据。在LinkedList中定义了一个内部类Node,每一个数据都会被保存在Node中,在Node中同时记录了它的前一个节点preNode和后一个节点nextNode。由于链表的长度可以无限,不会发生扩容的操作。查询操作会先判断是在链表的前半部分还是后半部分,然后分别从头结点或尾节点遍历查询数据。如果不指定下标,则会从头结点开始遍历整个链表,因此查询操作很慢。但是添加或删除可以直接修改Node中的preNode或nextNode所指向的对象。
填写下面表单即可预约申请免费试听!害怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
一级建造师二级建造师消防工程师造价工程师土建职称房地产经纪人公路检测工程师建筑八大员注册建筑师二级造价师监理工程师咨询工程师房地产估价师 城乡规划师结构工程师岩土工程师安全工程师设备监理师环境影响评价土地登记代理公路造价师公路监理师化工工程师暖通工程师给排水工程师计量工程师
执业药师执业医师卫生资格考试卫生高级职称护士资格证初级护师主管护师住院医师临床执业医师临床助理医师中医执业医师中医助理医师中西医医师中西医助理口腔执业医师口腔助理医师公共卫生医师公卫助理医师实践技能内科主治医师外科主治医师中医内科主治儿科主治医师妇产科医师西药士/师中药士/师临床检验技师临床医学理论中医理论