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

LinkedList与链表

1.链表的产生

由于顺序表ArrayList在有些操作时效率较低,如在任意位置插入或者删除一个元素,需要将该位置后面的所有元素进行前移或者后移,时间复杂度为O(n),效率比较低,所以ArrayList不适合做频繁任意位置插入的场景,此外,还有扩容机制导致的内存使用效率较低,因此,Java集合又引入了链表结构(LinkedList)。

2.链表的构造

链表是一种在物理存储结构上非连续的,数据元素的逻辑顺序是通过链表的引用链接次序实现的。

链表分为单项或双向,带头或不带头,循环或非循环,主要学习无头单向非循环链表和无头双向非循环链表

3.LinkedList的使用

3.1LinkedList的构造

3.2LinkedList常用方法

  LinkedList<Integer> list1=new LinkedList<>();list1.add(60);list1.add(70);list1.add(80);list1.add(60);LinkedList<Integer> list=new LinkedList<>();list.add(1);list.add(2);list.add(3);list.add(4);//[1, 2, 3, 4]list.add(0,0);//[0,1, 2, 3, 4]list.addAll(list1);//[0, 1, 2, 3, 4, 60, 70, 80, 60]list.remove(4);//[0, 1, 2, 3, 60, 70, 80, 60]list.get(0);//0list.set(0,1000);//[1000, 1, 2, 3, 60, 70, 80, 60]list.contains(10000);//truelist.indexOf(60);//4list.lastIndexOf(60);//7list.subList(5,7);//[70,80]

3.3LinkedList的遍历

 LinkedList<Integer> list1=new LinkedList<>();list1.add(60);list1.add(70);list1.add(80);list1.add(90);//for循环for (int i = 0; i < list1.size(); i++) {System.out.print(list1.get(i)+" ");}System.out.println();//foreach循环for (int x:list1) {System.out.print(x+" ");}System.out.println();//迭代器打印Iterator<Integer> integer=list1.iterator();while(integer.hasNext()){Integer i=integer.next();System.out.print(i+" ");}

4.ArrayList和LInkedLIst的区别

http://www.xdnf.cn/news/99523.html

相关文章:

  • 论文阅读 | 大模型工具调用控制的策略优化
  • Centos9安装docker
  • (20)VTK C++开发示例 --- 读取 DEM(高程地图)文件
  • 科学养生,拥抱健康生活
  • 电脑如何监控?六个电脑监控方法分享,请查收
  • 基于大模型的胃食管反流病全周期预测与诊疗方案研究
  • 【重学Android】03.高版本 Android Studio 不能使用引用库资源ID的问题
  • 服务器上部署Nginx的几种方式
  • vant Dialog组件调用的坑
  • Linux : 理解文件系统
  • CentOS 系统 DeepSeek 部署
  • [java八股文][Java基础面试篇]设计模式
  • VR 全景看车的独特优势​
  • 封装 element-ui 二次弹框
  • 详解:中兴新支点操作系统智慧政务信创解决方案
  • Prometheus定义主机监控告警实例
  • 【Amazing晶焱科技高速 CAN Bus 传输与 TVS/ESD/EOS 保护,将是车用电子的生死关键无标题】
  • 【Java设计模式及实践学习-第4章节-结构型模式】
  • HCIA-Access V2.5_18_网络管理基础_2_SNMP协议简介
  • GeoJsonLayer|BusineDataLayer|graphicLayer数据修改点位层级
  • JVM考古现场(二十五):逆熵者·时间晶体的永恒之战(进阶篇)
  • 生物计算安全攻防战:从DNA存储破译到碳基芯片防御体系重构
  • 【工程开发】LLMC准确高效的LLM压缩工具(三)——AWQ算法量化
  • 机器人雅克比Jacobian矩阵程序
  • 【go】go run-gcflags常用参数归纳,go逃逸分析执行语句,go返回局部变量指针是安全的
  • 深度学习--卷积神经网络调整学习率
  • MVCWebAPI使用FromBody接受对象的方法
  • 【速写】hook与fx
  • UML设计系列(9):开发过程中如何应用UML
  • uniapp跳转和获取参数方式