栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java

前言

List存储的数据为有序并且可重复,最具代表性的实现就是ArrayList和linkedList。

理解
  • ArrayList
  1. ArrayList底层数据结构是数组,默认大小为10,其数组大小是可改变的。当有效元素的个数超过数组大小时,底层会进行扩容操作,扩容后数组的大小为原数组的1.5倍。
  2. 由于数组索引的存在ArrayList在查询数据这一方面效率是非常快的,以及在集合的末尾新增或删除数据效率也是非常快的,但大数据量下涉及到在集合中间进行数据的新增或删除效率非常低,因为其底层在新增或删除操作的时候,会将大量数据整体向前或向后移动,这种频繁的操作,非常影响效率。ArrayList弊端在于即使索引上没有元素也会占内存。
  3. ArrayList主要的性能开销在于扩容操作。
  • linkedList
  1. linkedList底层数据结构为双向链表,是没有容量大小以及扩容的概念。
  2. 由于其链表是按照线性的方式去查找数据,在数据量庞大的情况下相比于ArrayList是比较慢的,但在插入和删除方面性能是非常快的,只需要将新节点挂到链表上即可。
  3. linkedList主要的性能开销在于每个节点不止存储自己的数据,还要存储上一个节点与下一个节点的地址引用。
结束
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/353982.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号