Java-ArrayList和LinkedList区别

embedded/2024/9/24 2:32:41/
  1. ⾸先,他们的底层数据结构不同,ArrayList底层是基于数组实现的,LinkedList底层是基于链表实现的
  2. 由于底层数据结构不同,他们所适⽤的场景也不同,ArrayList更适合随机查找,LinkedList更适合删除和添加,查询、添加、删除的时间复杂度不同
  3. 另外ArrayListLinkedList都实现了List接⼝,但是LinkedList还额外实现了Deque接⼝,所以LinkedList还可以当做队列来使用

注:1,2两点可以结合来看,ArrayList之所以查询更快就是因为底层实现逻辑是数组,同样的,LinkedList之所以更适合增删也是因为其底层实现是基于链表,可以通过修改指针指向来快速的完成新增和删除


http://www.ppmy.cn/embedded/115856.html

相关文章

QT中各数据基础类型互转方式有哪些?

在Qt中,各数据基础类型之间的互转是一个常见的需求,以便在程序的不同部分合理地存储、调用和显示数据。以下是一些常见的Qt数据基础类型互转方式: 1. 数值类型与QString的互转 数值类型转QString 使用QString::number()函数。这个函数可以将…

机器学习(西瓜书)第 10 章 降维与度量学习

10.1 k近邻学习kNN k 近邻(k-Nearest Neighbor,简称kNN)学习是一种常用的监督学习方法,其工作机制非常简单:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个 “邻居”的信息来进行预测.通常,在…

C++入门基础知识八

1.介绍new与delete 1.malloc和free是函数,new和delete是操作符 2.malloc申请的空间不会初始化,new可以初始化 3.malloc申请空间失败时,返回的是NULL,因此必须判空,new不需要,但是new需要捕获异常 4.申请…

使用豆包Marscode 创建了一个”天气预报“小应用

以下是「豆包MarsCode 体验官」优秀文章,作者一拳干爆显示器。 前言 本文介绍了我第一次使用我在MarsCode IDE制作了一款天气预报的应用 其中在正文的头部以及结语部分发表了我在MarsCode编程中的体验情况,而正文的中间主要是我项目制作的细节步骤 豆…

C语言从头学62——学习头文件stdlib.h(一)

stdlib.h是一个非常重要的头文件,其中定义了使用频率很高的宏、函数等。 一、数据类型 size_t:运算符sizeof的返回值类型 wchar_t:宽字符类型 二、宏 NULL:空指针(用于声明后但未使用的指针的赋初…

嘉宾云集旌城 只为大赛而来 2024ISGC国际烈酒(中国)大奖赛在德阳落下帷幕

秋高气爽、古蜀之源,迎来第六届国际烈酒(中国)大奖赛;五谷丰登、重装之都,齐聚百名国际烈酒大奖赛评委。 9月18日,由德阳市人民政府、国家葡萄酒及白酒露酒产品质量检验检测中心、上海合作组织多功能经贸平…

7、论文阅读:20 年来的物体检测:一个调查

目标检测综述论文:Object Detection in 20 Years: A Survey 前言引言20年来的目标检测目标检测路线图里程碑A Survey) 前言 本文从技术演变的角度广泛回顾了这个快速发展的研究领域(1990s - 2022s)。本文涵盖了许多主题,包括历史上的目标检测的里程碑、检测数据集、指标、…

字母与符号检测系统源码分享

字母与符号检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer V…