LinkedList和ArrayList

2023-10-26

LinkedList和ArrayList

区别:

LinkedList是基于双向链表,头尾插入删除效率高,随机访问慢(要沿着链表一个一个遍历),占用内存多。

ArrayList是基于数组,尾部插入、删除性能还行,其他部分插入、删除都会一个一个移动数据,因此性能会低 ,可以利用cpu缓存、局部性原理降低内存占用。

注意:

1.如果数据有较多的随机访问,ArrayList对象要优于LinkedList对象;

2.如果数据有更多的插入或者删除操作,较少的随机访问,LinkedList对象要优于ArrayList对象;

3.LinkedList虽然头尾插入删除效率高,ArrayList尾部插入、删除性能还行,但是ArrayList的插入、删除操作也不一定比LinkedList慢,如果在集合靠近末尾的地方插入,那么ArrayList只需要移动较少的数据,而LinkedList则需要一直查找到列表尾部,反而耗费较多时间,这时ArrayList就比LinkedList要快。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LinkedList和ArrayList 的相关文章

随机推荐

  • java: cannot find symbol symbol: variable log

    使用Intellij idea的时候 编译项目始终报错java cannot find symbol symbol variable log 装Lombok Plugin 插件 设置 build execution deployment g
  • react-redux库

    安装react redux tnpm i react redux 未优化前 src components Count index tsx import React useState from react export default fun
  • UE4命令行打包项目

    RunUAT bat在ue安装路径找 1 Compiling the client 编译客户端的命令行代码 RunUAT BuildCookRun project full project path and project name upr
  • MySQL 命令环境变量设置方法

    安装完MySQL之后 大家可以直接打开MySQL的client输入命令 操作MySQL数据库 当然也可以使用dos窗口输入MySQL命令操作MySQL数据库 方法1 1 打开dos窗口 具体怎么打开 百度 2 定位到MySQL安装目录下的b
  • jmeter生成随机数

    打开函数助手 Random 写入随机范围的最小值 和最大值 name of variable in which to store the result 为变量名 写好后 点击生成 复制字符串 粘贴到需要的请求上即可
  • linux查看vlan命令,[转]linux VLAN配置(vconfig)

    1 安装vlan vconfig 和加载8021q模块 aptitude install vlan modprobe 8021q 2 使用linux vconfig命令配置vlan vconfig add eth0 100 vconfig
  • 网络安全——cobalt Strike 之office钓鱼

    一 office钓鱼 在无需交互 用户无感知的情况下 执行office文档中内嵌的恶意代码 例如宏 从远控地址中下载并运行恶意可执行程序 例如远控木马 勒索病毒等 cobalt strike office钓鱼原理 主要生成一段vba代码 然
  • 前端发送的form-data类型name=“carNumber“的参数后端怎么接收

    需求 前端将图片和其他信息一起已form data类型发送给后端 图片以二进制流的形式 其他信息以key value的键值对的形式 举例 具体荷载 后端controller层接收的方法 RequestMapping value upload
  • linux安装jdk8

    1 官网下载链接 Java Downloads Oracle 2 下载完成之后 我们打开linux 执行如下命令 最后通过rz命令将文件上传 root localhost local mkdir usr local java root lo
  • android imageloader 进度条,Android-Universal-Image-Loader使用介绍

    图片开源库是一个应用非常广泛的第三方库 几乎所有的应用都会使用 目前而言常见的图片库有 Android Universal Image Loader Picasso Fresco Glide等 下面是国内Top500Android应用分析报
  • Win10笔记本屏幕最低亮度依旧很亮?最高亮度依旧很暗?

    左下角搜索 显卡 打开 英特尔R显卡控制中心 点击 显示器 点击 颜色 里面有 全部颜色 在这里调节即可 嫌太亮 调低些 反之则反
  • 必刷算法题之排序篇(题目及代码)---C++

    前言 该篇博客记录了和排序有关的一些题目 差不多是逐级递增的难度 后续还会补充 有具体思路和代码 文章目录 第一题 排序 第二题 判断字符是否唯一 第三题 最小的k个数 第四题 单链表的排序 第五题 最大数 第六题 调整数组顺序使奇数位于偶
  • javaScript中Float精度计算

    在项目中做了一个计算统计值的部分 实现过程是通过 javaScript 进行累加的 在测试时出现了一个很乖的问题 在此记录一下 1 问题背景 项目中有一个表格字段 数据类型是float的 在数据库中均以Decimal 10 2 的格式保存
  • springMVC(数据格式化+验证以及国际化+中文乱码处理+处理 json 和 HttpMessageConverter<T>+SpringMVC 文件上传+自定义拦截器+异常处理)

    目录 一 数据格式化 1 基本介绍 2 基本数据类型和字符串自动转换 2 1总结 3 特殊数据类型和字符串间的转换 二 验证以及国际化 1 概述 1 1 概述 2 JSR 303 验证框架 1 1Hibernate Validator 扩展
  • layui.table.render如何改变表格的高度

    1 将checkbox 和 操作 设置固定高度 type checkbox fixed left style height 111px field id title ID sort true width 120 fixed right ti
  • 数据结构:排序(Sort)【详解】

    目录 排序 知识框架 排序概述 一 排序的相关定义 二 排序用到的结构与函数 常见的排序算法 一 冒泡排序 交换排序 1 算法 2 性能分析 二 简单选择排序 1 算法 2 性能分析 三 直接插入排序 1 算法 2 性能分析 四 折半插入排
  • 【xenclient】 使用小结 -- 片花

    片花1 磁盘共享 同一台电脑上装的系统多了 各个系统间难免重复内容很多 不免就有共享的需求 最简单的想法 单独做个vhd 只用来保存共享的数据 然后加到每一个虚拟机上 不就行了 当然 同一块vhd挂到多台虚拟机上 同时运行的话肯定有数据一致
  • 超详细的Shell学习教程第一篇

    1 1 Shell介绍 Shell 是一个用 C 语言编写的程序 它是用户使用 Linux 的桥梁 Shell 既是一种命令语言 又是一种程序设计语言 Shell 是指一种应用程序 这个应用程序提供了一个界面 用户通过这个界面访问操作系统内
  • 【100+ python基础入门-32】元组元素的增删改查操作方法总结

    元组是不可变的数据类型 所以我们没有办法对他的内部元素进行诸如修改 删除和增加操作 但是语言就是这么神奇 不可以对元祖本身操作 还可以把元组操作之后的结果重新存储成一个新的元组 这样不就能丰富元组的操作了吗 方法是完全可行的 但是多少有点局
  • LinkedList和ArrayList

    LinkedList和ArrayList 区别 LinkedList是基于双向链表 头尾插入删除效率高 随机访问慢 要沿着链表一个一个遍历 占用内存多 ArrayList是基于数组 尾部插入 删除性能还行 其他部分插入 删除都会一个一个移动