ArrayList(数组) 和 LinkedList(双向链表) 的区别是什么?使用ArrayList而不使用LinkedList的原因

news/2025/1/16 1:56:15/

@[toc](ArrayList(数组) 和 LinkedList(双向链表) 的区别是什么?使用ArrayList而不使用LinkedList的原因)



ArrayList(数组) 和 LinkedList(双向链表) 的区别是什么?

  • ArrayList:内部是通过数组实现的,支持随机访问,实现了RandomAccess接口,实现了Serializable接口,实现了Cloneable接口,线程不安全,效率高
  • LinkedList:内部是通过链表实现的,不支持随机访问,没有实现RandomAccess接口,实现了Serializable接口,实现了Cloneable接口,线程不安全,效率高

使用ArrayList而不使用LinkedList的原因

  • 插入:ArrayList尾插入效率高,LinkedList头尾插入效率高。但是中加插入效率都很低,因为ArrayList需要移动元素,LinkedList需要移动指针。
  • 删除:ArrayList尾删除效率高,LinkedList头尾删除效率高。但是中间删除效率都很低,因为ArrayList需要移动元素,LinkedList需要移动指针。
  • 修改:ArrayList随机访问效率高,LinkedList随机访问效率低。
  • 查询:ArrayList随机访问效率高,LinkedList随机访问效率低。
    所以我们只使用ArrayList。






我的Github地址,欢迎大家加入我的开源项目,或者(在我的主页联系我)加入你们的开源项目,点点Github-Stars。

\开源项目名称依赖类型版本号描述
1spring-boot-starter-triepom1.0.0-SNAPSHOT特定需求下查询速度远超开源检索工具,innodb下B+树或者ES中倒排索引无法与之比拟.
2spring-boot-starter-triejar1.0.0-M1提供了基于SpringCloud的服务节点,可以通过Nacos注册中心进行服务发现,实现了树的动态扩容与缩容,以及服务的动态上下线。
3Data-Providerpom1.0.0-SNAPSHOT提供了多种数据源的查询,以及数据的类型同步,作为一个Jar可以依赖在其他服务上动态的提供数据。

http://www.ppmy.cn/news/97372.html

相关文章

1074 Reversing Linked List(23行代码+详细注释)

分数 25 全屏浏览题目 切换布局 作者 CHEN, Yue 单位 浙江大学 Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elements on L. For example, given L being 1→2→3→4→5→6, if K3, then you must output 3→2→1→…

什么是用户态和内核态?用户态切换内核态会有什么影响?

一、什么是用户态和内核态? 简单来讲,像使用java开发时,调用java中封装的普通方法程序时属于用户态,而操作内存或者cpu比如 new Thread()创建一个线程,Class.forName(xxx.class)这种属于内核态 用户态和内核态是操作系…

跟我学c++中级篇——注解

一、注解是什么 其实中这里分析注解的原因是和反射有些关系的,当然实现注解的手段可能有很多种,但一般来说,注解实现都和反射或多或少有着关系。那么什么是注解?注解就是对类或方法等的元数据描述。所以注解就是一种元数据&#…

网络编程(TCP与UDP协议)

文章目录 1. 网络编程1.1 软件架构1.2 网络基础 2. 网络通信要素2.1 如何实现网络中的主机互相通信2.2 通信要素一:IP地址和域名2.2.1 IP地址2.2.2 域名 2.3 通信要素二:端口号2.4 通信要素三:网络通信协议 3. 传输层协议:TCP与UD…

【STL】list的模拟实现

目录 前言 结构解析 默认成员函数 构造函数 拷贝构造 赋值重载 析构函数 迭代器 const迭代器 数据修改 insert erase 尾插尾删头插头删 容量查询 源码 前言 🍉list之所以摆脱了单链表尾插麻烦,只能单向访问等缺点,正是因为其…

电子器件系列38:mos管散热片

板子上需要用到一个封装为to220的mos管,还得立起来散热,得要加一个散热片。 散热片简介,分类?用途?如何使用?封装?使用注意事项? 简介: mos散热片是一种给电器中的易发热…

VSLAM视觉里程计总结

相机模型是理解视觉里程计之前的基础。视觉里程计(VIO)主要分为特征法和直接法。如果说特征点法关注的是像素的位置差,那么,直接法关注的则是像素的颜色差。特征点法通常会把图像抽象成特征点的集合,然后去缩小特征点之…

Radxa ROCK 5A RK3588S 开箱 vs 树莓派

Rock5 Model A 是一款高性能的单板计算机,采用了 RK3588S (8nm LP 制程)处理器,具有 4 个高达 2.4GHz 的 ARM Cortex-A76 CPU 核心、4 个高达 1.8GHz 的 Cortex-A55 内核和 Mali-G610 MP4 GPU,支持 8K 60fps 视频播放&#xff0c…