首页 > 编程语言 >java集合框架——List集合概述及ArrayList,LinkedList的区别

java集合框架——List集合概述及ArrayList,LinkedList的区别

时间:2024-03-16 19:00:41浏览次数:32  
标签:java LinkedList ArrayList 元素 List 索引 集合

前言:

List系列集合是Collection集合中两个系列的其中一个,整理下笔记。打好基础,daydayup!

需要了解Collection的,可以看这篇java集合框架——Collection集合概述 

 List系列集合

List系列集合的特点为添加的元素有序,可重复,有索引。在继承了Collection方法的基础上,有很多索引相关的方法。

List系列常用方法

方法名称说明
void add(int index , E element)在此集合中的指定位置插入指定的元素
E remove(int index)删除指定索引处的元素,返回被删除的元素
E set(int index , E element)修改指定索引处的元素,返回被修改的元素
E get(int index)返回指定索引处的元素

 例:

 List系列遍历方式

List的遍历方式有四种:1,for遍历;2,迭代器遍历;3,增强for遍历;4,lambda表达式遍历

 例:

ArrayList

ArrayList是List系列中的一个,特点为元素有序,可重复,有索引。

 曾经有写过,有需要可以看这篇java常用应用程序编程接口(API)——ArrayList概述及使用案例

LinkedList和ArrayList的区别

LinkedList的特点也是元素有序,可重复,有索引。但不太一样的是,ArrayList是基于数组实现的,而LinkedList是基于双链表进行实现的。

 基于数组实现的特点为:1,根据索引查询数据快;2,删除效率低(删除数据需要把之后的向前移);3,添加效率低(需要把数据向后移动,再添加移动,同时添加数据需要进行扩容)

基于双链表实现的特点为:1,查询速度慢;2,增加/删除数据较快;3,对首尾元素增删改查的速度非常快。

ArrayList适用的场景:需要频繁用索引取数据的时候,或者数据量不是很大的时候。

LinkedList适用的场景:首位数据频繁更换,数据量大需要增删数据的时候,或不需要频繁使用索引取数据的时候

总结:

总之需要频繁用索引就用ArrayList,需要首位频繁增删改查就用LinkedList。整理结束,撒花!!!

标签:java,LinkedList,ArrayList,元素,List,索引,集合
From: https://blog.csdn.net/l822099133/article/details/136687537

相关文章

  • 【Java设计模式】二十二、备忘录模式
    文章目录1、备忘录模式2、案例:游戏角色属性数值恢复2.1白箱备忘录模式2.2黑箱备忘录模式3、总结1、备忘录模式一种状态恢复机制,以便可以回到之前的某一个特定状态。如Word的撤销操作、下棋时的悔棋等。又叫快照模式,在不破坏封装性的前提下,捕获一个对象的内部状......
  • 【Java】SpringMVC
    MVC是模型(Mode)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。将业务逻辑和数据显示分离,降低了视图与业务逻辑间的双向耦合。DaoServiceServletjsp/html①用户发送请求②Servlet接收请求数据,调用对应的业务逻辑方法③业务处理完毕,返回更新后的数据给servlet④......
  • (java毕业设计源码)基于java(springboot)校园求职招聘系统
    基于java(springboot)校园求职招聘系统项目获取请看文章最底下官网校园求职招聘管理系统,是基于java编程语言,mysql数据库,springboot+vue框架进行开发,本系统分为学生,企业,管理员三个角色,本系统适合作为java毕业设计和java课程设计源码下载进行参考学习。一.技术环境JDK......
  • 【Java】迷你DVD管理器
    Java:迷你DVD管理器系统概述开发计划系统开发步骤编码顺序界面交互设计的原则理解业务设计阶段1、初始化DVD信息2、实现菜单切换3、实现查看DVD信息4、实现新增DVD信息5、实现删除DVD信息6、实现借出DVD业务处理7、实现归还DVD业务处理代码阶段1、菜单模块2、初始化模......
  • JavaScript操作函数
    JavaScript操作函数通过标签事件触发函数(js),在函数中又返回来对网页中的标签操作在js中如何能够操作网页中的标签在js语言中,认为每一个标签就是一个独一无二的对象,在js语言中可以获得网页中的标签,这样就可以在js中对标签的属性,内容,样式及逆行操作要操作哪个标签,首先......
  • Java基础面试题整理2024/3/13
    1、可以使用switch的数据类型Java5以前,switch(arg)表达式中,arg只能是byte、short、char、int。Java5之后引入了枚举类型,也可以是枚举类型。Java7开始引入了字符串类型。2、Java中的goto有什么作用goto是Java中的保留字,在目前版本的Java中没有使用。3、this与super的区......
  • 基于Java+SpringBoot的开放实验室管理系统子系统毕业设计(源码+论文)
    作者主页:Java程序员老张主要内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。收藏点赞不迷路 关注作者有好处文末获取源码技术选型【后端】:Java【框架】:SpringBoot【前端】:vue【JDK版本】:JDK1.8【服......
  • java企业员工档案管理(ssm框架毕业设计)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义在现代企业管理中,员工档案管理是一个重要的组成部分。它不仅涉及到员工的个人信息,还包含了他们的工作经历、技能培训、绩效评估等重要内容。因此,如何有效地管理这......
  • java企业员工岗前培训管理系统(ssm框架毕业设计)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在当今激烈的市场竞争环境下,企业对员工的要求越来越高,员工的专业能力和综合素质直接影响到企业的生产力和竞争力。然而,新入职的员工往往需要一段时间来适......
  • Java两周半速成之路(第十六天)
    一、网络编程1.概述:         就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换2.网络模型 3.网络参考模型图  4.网络通信三要素 4.1IP地址 InetAddress类的使用:注意:通过API查看,此类没有构造方法,如果想要创建该类的对象,......