当前位置: 首页 > news >正文

list的两个实现类

ArrayList:适用于需要频繁随机访问元素

LinkedList:适用于需要频繁进行插入和删除操作,尤其是在列表的头部或尾部进行操作

二者的用法基本一致,只是时间和空间复杂度不同

List<Integer> arrayList = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            arrayList.add(i);
        }
        // 随机访问第 5 个元素
        int element = arrayList.get(5); 
-----------------------------------------------
List<Integer> linkedList = new LinkedList<>();
        for (int i = 0; i < 10; i++) {
            linkedList.add(i);
        }
        // 随机访问第 5 个元素
        int element = linkedList.get(5); 
List<Integer> arrayList = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            arrayList.add(i);
        }
        // 在索引为 5 的位置插入元素 100
        arrayList.add(5, 100); 
---------------------------------------------
LinkedList<Integer> linkedList = new LinkedList<>();
        for (int i = 0; i < 10; i++) {
            linkedList.add(i);
        }
        // 在索引为 5 的位置插入元素 100
        linkedList.add(5, 100);
  • ArrayListArrayList 的内存占用相对较小,主要是数组本身的内存开销。但在数组扩容时,会有额外的内存分配和元素复制操作。
  • LinkedListLinkedList 的每个节点除了存储元素本身外,还需要额外的引用(指向前一个节点和后一个节点),因此内存占用相对较大。

 

 

相关文章:

  • 关于android studio设备镜像的设置
  • 《基于Hadoop的青岛市旅游景点游客行为分析系统设计与实现》开题报告
  • 2025国家护网HVV高频面试题总结来了03(题目+回答)
  • Java-实现PDF合同模板填写内容并导出PDF文件
  • 【二.提示词工程与实战应用篇】【1.提示词工程入门:AI对话的艺术】
  • 魔发奇缘,3D发型生成新突破!TANGLED:利用任意样式和视点的图像生成 3D 发束
  • debian/control中的包关系
  • Tomcat-web服务器介绍以及安装部署
  • 【音视频】H265解码Nalu后封装rtp包
  • 项目准备(flask+pyhon+MachineLearning)- 1
  • SpringBoot集成Elasticsearch 7.x spring-boot-starter-data-elasticsearch 方式
  • ZYNQ-PL实践课堂(五)IP核之FIFO
  • unity pico开发 五 UI交互
  • PyTorch GPU显存管理与大规模张量操作
  • 虚拟网络IP设置
  • Focal Loss (聚焦损失) :解决类别不平衡与难易样本的利器,让模型学会“重点学习”
  • LINUX网络基础 - 网络编程套接字,UDP与TCP
  • Tauri跨平台开发问题及解决方案深度解析(React版)
  • 学生管理信息系统的需求分析与设计
  • 基于提示驱动的潜在领域泛化的医学图像分类方法(Python实现代码和数据分析)
  • 看展 | 黄永玉新作展,感受赤子般的生命力
  • 特朗普:将于19日分别与普京和泽连斯基通话
  • 《风林火山》千呼万唤始出来,戛纳首映后口碑崩盘?
  • 陶石不语,玉见文明:临平玉架山考古博物馆明日开馆
  • 新城悦服务:独董许新民辞任,新任独董与另两人组成调查委员会将调查与关联方资金往来
  • “16+8”“生酮饮食”,网红减肥法究竟靠谱吗?