Java-List接口

Java集合框架之List接口 List接口定义了一个有序的集合,可以包含重复的元素。它支持按索引访问元素(通过方法),并且允许在列表的任意位置插入和移除元素。List接口的实现类通常维护元素插入的顺序,因此它特别适合于需要频繁访问、插入和删除元素的场景。List接口是Java集合框架中的核心组件之一,提供了有序集合的灵活操作。通过选择合适的实现类和优化使用方法,可以显著提高应用程序的性能和可维护性。希望本文能帮助你更好地理解和使用List接口。 阅读详情

一、List接口的特点

A:List接口的特点:
a:它是一个元素存取有序的集合。
例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、22、33的顺序完成的)。
b:它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。
c:集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素。
d:List接口的常用子类有:

  • ArrayList集合
  • LinkedList集合

二、List接口的特有方法

A:List接口的常用方法

List接口的常用方法

B:List接口的特有方法(带索引的方法)

a:增加元素方法
 add(Object e):向集合末尾处,添加指定的元素
 add(int index, Object e) 向集合指定索引处,添加指定的元素,原有元素依次后移

     /*
       *  add(int index, E)
       *  将元素插入到列表的指定索引上
       *  带有索引的操作,防止越界问题
       *  java.lang.IndexOutOfBoundsException
       *     ArrayIndexOutOfBoundsException
       *     StringIndexOutOfBoundsException
       */
      public static void function(){
        List<String> list = new ArrayList<String>();
        list.add("abc1");
        list.add("abc2");
        list.add("abc3");
        list.add("abc4");
        System.out.println(list);

        list.add(1, "itcast");
        System.out.println(list);
      }

b:删除元素删除
 remove(Object e):将指定元素对象,从集合中删除,返回值为被删除的元素
 remove(int index):将指定索引处的元素,从集合中删除,返回值为被删除的元素

  /*
       *  E remove(int index)
       *  移除指定索引上的元素
       *  返回被删除之前的元素
       */
      public static void function_1(){
        List<Double> list = new ArrayList<Double>();
        list.add(1.1);
        list.add(1.2);
        list.add(1.3);
        list.add(1.4);

        Double d = list.remove(0);
        System.out.println(d);
        System.out.println(list);
      }

c:替换元素方法
 set(int index, Object e):将指定索引处的元素,替换成指定的元素,返回值为替换前的元素

   /*
       *  E set(int index, E)
       *  修改指定索引上的元素
       *  返回被修改之前的元素
       */
      public static void function_2(){
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);

        Integer i = list.set(0, 5);
        System.out.println(i);
        System.out.println(list);
      }

d:查询元素方法
 get(int index):获取指定索引处的元素,并返回该元素

三、迭代器的并发修改异常

A:迭代器的并发修改异常

     /*
      *  迭代器的并发修改异常 java.util.ConcurrentModificationException
      *  就是在遍历的过程中,使用了集合方法修改了集合的长度,不允许的
      */
     public class ListDemo1 {
      public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        list.add("abc1");
        list.add("abc2");
        list.add("abc3");
        list.add("abc4");

        //对集合使用迭代器进行获取,获取时候判断集合中是否存在 "abc3"对象
        //如果有,添加一个元素 "ABC3"
        Iterator<String> it = list.iterator();
        while(it.hasNext()){
          String s = it.next();
          //对获取出的元素s,进行判断,是不是有"abc3"
          if(s.equals("abc3")){
            list.add("ABC3");
          }
          System.out.println(s);
        }
      }
     }
 运行上述代码发生了错误 java.util.ConcurrentModificationException这是什么原因呢?
   在迭代过程中,使用了集合的方法对元素进行操作。
   导致迭代器并不知道集合中的变化,容易引发数据的不确定性。

 并发修改异常解决办法:
    在迭代时,不要使用集合的方法操作元素。
    或者通过ListIterator迭代器操作元素是可以的,ListIterator的出现,解决了使用Iterator迭代过程中可能会发生的错误情况。

四、数据的存储结构

A:数据的存储结构
 a:栈结构:后进先出/先进后出(手枪弹夹) FILO (first in last out)
 b:队列结构:先进先出/后进后出(银行排队) FIFO(first in first out)
 c:数组结构:
           查询快:通过索引快速找到元素
           增删慢:每次增删都需要开辟新的数组,将老数组中的元素拷贝到新数组中
                  开辟新数组耗费资源
 d:链表结构
           查询慢:每次都需要从链头或者链尾找起
           增删快:只需要修改元素记录的下个元素的地址值即可不需要移动大量元素
【Java学习】5个List接口大揭秘:Java中的List接口,你真的用对了吗? 定义List接口继承自Collection接口,表示一个有序的集合,允许重复的元素。主要方法add(E e):在列表末尾添加一个元素。:在指定位置插入一个元素。:移除指定位置的元素。:获取指定位置的元素。:替换指定位置的元素。:返回指定元素第一次出现的位置。:返回指定元素最后一次出现的位置。:返回从fromIndex到toIndex之间的子列表。示例代码// 创建一个 List 实例// 添加元素// 获取指定位置的元素// Apple// 插入元素。 阅读详情

相关推荐

【03】海康MVS V4.3.0 ——安装教程、查看示例、库、头文件、开发指南

海康威视MVS机器视觉软件安装与使用指南:首先从官网下载MVS 4.3.0安装包,默认设置完成安装。安装后可在Development目录查看示例代码、开发文档及头文件,支持C++/C#/Python等多语言开发。软件内置虚拟相机功能,通过工具菜单添加虚拟设备后即可模拟真实相机操作,支持中英文界面切换、参数调节(曝光/增益等)及图像采集功能。虚拟相机虽仅能显示预设图像,但完整保留了参数调节功能,适合开发者进行功能测试。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 3315

Java集合——List接口学习总结

3.Iterable接口是Java集合框架中用于表示“可迭代”的对象的标准接口,它定义了一个iterator()方法,用于返回一个迭代器(Iterator)对象,从而可以遍历集合中的元素。2.Iterator接口是Java集合框架中用于遍历集合元素的标准接口,它定义了一些方法,如hasNext()、next()、remove()等,用于遍历集合中的元素并对其进行操作。其实源码中成员变量上面就有英文解释,简要回答就是保证跨平台,有些虚拟机数组会有会有保留字,出于安全性和健壮性考虑所以做了长度限制。

海旋风的博客 894

ComfyUI工作流换脸节点报错ReActorFaceSwap

找到自己ComfyUI安装目录的custom_nodes下是否有这个comfyui-reactor-node-main。大家在借鉴别人工作流进行AI换脸的时候,如果遇到ReActorFaceSwap报错提示,莫慌,看我的,两步解决问题。这里千万注意不要嵌套文件夹,保证点击去这个文件就可以看到内置的配置文件!找到自己ComfyUI安装目录的facerestore_models。如果有这个文件,直接跳过,去下一步。如果没有,可以去Git官网下载。

qq_70810809的博客 9018

Java基础——List接口

Collection接口是Java中所有集合的总接口,Collection将集合划分为两大类:List集合和Set集合。 1.List接口 List集合的特征: 1).有序的,添加时保存的数据一致; 2).可以重复。 List接口下面常用的方法: 增加:add(int index,E e); 在指定位置添加指定的数据 addAll(int index, Collection<? extends E> c);在指定位置存入另一个集合 删除:remove(int index); 通过

qq_48060243的博客 5317

doris2.1.8连接报错ERROR 1203 (42000): Reach limit of connections解决办法

摘要:客户Doris数据库报错"ERROR 1203 (42000): Reach limit of connections"的解决过程。发现AI提供的解决方案存在错误:1)查询命令应为SHOW FRONTEND CONFIG而非show variables;2)参数名称应为qe_max_connection而非max_connections。正确解决步骤:1)用admin账户登录查看连接数限制和当前连接数;2)通过SHOW PROPERTY命令检查用户资源限制;3)针对不同情况修改参数

Brent的专栏 1762

LaTeX双栏浮动结构实战:用dblfloatfix解决跨栏图表排版难题

本文深入探讨了LaTeX双栏浮动结构在学术论文排版中的常见问题,特别是IEEE会议论文中的跨栏图表定位难题。通过介绍dblfloatfix包的整合解决方案,帮助用户实现精准的底部定位和浮动顺序保持,提升排版效率与质量。

weixin_30872499的博客 444

Java集合框架之List接口详解

本文深入解析Java List接口的核心特性、常用实现类及特有方法,涵盖元素操作、子列表处理、ListIterator迭代器及Comparator排序,通过代码示例演示增删改查、遍历与自定义排序技巧,助你掌握高效数据管理与操作

m0_73941339的博客 2311

遥感生态指数(RSEI)——四个指数的计算

遥感生态指数是在4个生态指数的基础上通过主成分变换得出的一个评价生态环境质量的指标。因此,第二部分就是要分别计算出这4个指数的值。 ①首先,是绿度指数的计算,一般用归一化植被指数(NDVI) NDVI=(NIR-Red)/(NIR+Red) 在Bandmath工具中输入NDVI计算公式 (float(b4-b3))/(b4+b3) 其中,b3、b4分别是红波段和近红外波段 ②其次,是湿度计算。 WET = c1B1 + c2B2 + c3B3...

qq_41978498的博客 9万+

java list接口_Java 之 List 接口

一、List 接口介绍java.util.List 接口继承自 Collection 接口,是单列集合的一个重要分支,习惯性地会将实现了 List 接口的对象称为 List 集合。在 List 集合中允许出现重复的元素,所有的元素以一种线性方式进行存储的,在程序中可以通过索引来访问集合中的指定元素。List 集合的另一个特点就是元素有序,即元素的存入顺序和取出顺序一致。小结:List 接口的特点1...

weixin_35601611的博客 393

STM32F407最小系统硬件设计与CubeMX工程实践

嵌入式最小系统是MCU功能实现的物理基础,其核心涵盖供电网络、时钟架构、复位机制与调试接口四大模块。基于Cortex-M4内核的STM32F407对电源纹波、晶振稳定性及信号完整性提出严苛要求:模拟电源VDDA需<10mV纹波,HSE晶振布线须满足短距直连与匹配电容精准配置,SWD调试接口依赖50Ω阻抗控制与端接防护。这些硬件约束直接映射至STM32CubeMX配置——如RCC时钟树参数必须与实物晶振频率严格一致,GPIO模式需匹配外设电气特性(如I2C必选开漏),否则将引发通信失败或启动异常。典型应用场景

weixin_35592186的博客 173

R语言机器学习算法实战系列(十五)随机森林生存预后模型+SHAP值 (Random Survival Forest + SHAP)

本教程运用随机森林生存分析筛选与患者生存状态显著相关特征。该方法借随机森林这一强大机器学习算法,构建多棵决策树并集成结果,以提高生存分析准确性,识别关键生物标志物。接着,利用选定特征构建风险得分,将多个特征转化为单一数值,量化患者风险水平。之后,依据风险得分将患者分为高、低风险亚型,为临床治疗提供个性化指导。最后,通过分析时间依赖的 ROC 曲线评估模型长期预测能力。此曲线计算不同阈值下的真正例率与假正例率,在多个时间点评估,全面展现模型长期稳定性与准确性。。并且增加了SHAP值评估特征重要性

专注生信领域 2626

JAVA集合(二)List接口详解

添加10个以上的元素(比如String "hello"),在2号位插入一个元素”快船总冠军“,获得第五个元素,删除第六个元素,修改第七个元素,在使用迭代器遍历集合,要求:使用List的实现类ArrayList完成。我们先进行new一个类:ArrayList,然后新建一个Book类,然后进行创建它的构造方法,设置它的getter和setter,同时设置它的toString方法。(3)List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素。我们看看其他类怎么样。

超级程序诞生的博客 3158

uniapp - 实现免费OCR文字识别方案,用户上传图片后进行扫描识别获取图片上的文字,uniApp纯前端做图片OCR识别——无需服务器进行OCR识别插件(不需要依赖任何SDK或第三方API服务)

uniapp实现orc识别免费的插件识别不花钱,无需第三方OCR文字识别API,uniApp拍照或者选择图片免费识别,纯前端不需要服务器,Uniapp提取图片上的文字,本地ocr识别技术,uni-app图片OCR识别文本,uniapp有没有免费的ocr识别组件,uniapp前端实现文字识别,身份证识别,营业执照识别 (兼容APP、H5、小程序 不需要任何SDK)跨端无SDK方案:Uniapp实现OCR文字,离线OCR识别,uniapp tesseract.js实现文字识别,uniapp文字识别无需依赖sdk

🏆 前端领域优质创作者 4251

【Java】—— 集合框架:List接口常用方法与List接口的实现类

举例:List集合存储数据,就像银行门口客服,给每一个来办理业务的客户分配序号:第一个来的是“张三”,客服给他分配的是0;) 方法返回的 List 集合,既不是 ArrayList 实例,也不是 Vector 实例。注意:在JavaSE中List名称的类型有两个,一个是java.util.List集合接口,一个是java.awt.List图形界面的组件,别导错包了。定义学生类,属性为姓名、年龄,提供必要的getter、setter方法,构造器,toString(),equals()方法。

weixin_63106307的博客 2161

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

java list接口_Java List接口

List接口扩展了Collection接口并声明了存储元素序列的集合的行为。可以使用从零开始的索引,在列表中插入或访问列表中的元素。列表可能包含重复的元素。除了Collection接口定义的方法之外,List接口还定义了一些自己的方法,这些方法在下表中进行了总结。如果无法修改集合,有几个List方法抛出UnsupportedOperationException异常,并且当一个对象与另一个对象不兼容...

weixin_32146783的博客 644

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Java List 接口详解

接口是集合框架中最常用的接口之一,它代表了一个有序的集合,可以存储重复的元素。在 Java 编程中,集合框架是一个非常重要的部分,它提供了一系列用于存储和操作数据的类和接口。接口是 Java 集合框架中非常重要的一个接口,它提供了一种有序的集合,可以存储重复的元素。接口的使用方法,可以提高 Java 编程的效率和灵活性。接口,包括其定义、实现类、常用方法以及实际应用场景。接口允许存储重复的元素,并且元素的顺序是有意义的。,可以根据不同的需求选择合适的存储方式。接口,它定义了一组操作有序集合的方法。

m0_72256543的博客 1838

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

java List接口

List接口 添加 add 删除 remove(index) 修改 set(index, object) 长度 size 得到 get(index) 从零开始 返回对象索引 indexOf(object) List可视化 toString()

怪猫訷的博客 721

Java中List接口的使用

一、 List接口介绍 java.util.List接口继承自Collection接口,是单列集合的一个重要分支,习惯性地会将实现了List接口的对象称为List集合。在List集合中允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以通过索引来访问集合中的指定元素。另外,List集合还有一个特点就是元素有序,即元素的存入顺序和取出顺序一致。 看完API,我们总结一下: List接口特点: 它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照1

qq_44723773的博客 1800

Java 中 List 接口的学习笔记

在 Java 中,List是一个接口,属于 Java Collections Framework。它表示一个有序的集合,可以包含重复元素。List接口允许通过索引访问元素,提供了多种实现方式,如ArrayList和LinkedList。List接口是 Java 集合框架的重要组成部分,提供了灵活的动态数组和链表实现。通过理解不同实现的特点及其适用场景,能够帮助我们在编程中做出更合适的选择。

Working_ccll的博客 744

java中list接口_Java中的List接口

List接口:list接口是Collection接口的子类,其继承了Collection接口的所有方法,但也有其独有的方法,不过在迭代的时候不要进行任何操作。牢记数据存储的四种结构:堆栈、队列、数组、链表,并指导其区别和适合用于什么场景下。特别注意的是LinedList接口中判断是否为空的时是判断的里面元素是否为空,只有当定义的时候(new)为Null才表示该集合不存在的,是空指针异常的。至于Ve...

weixin_28292761的博客 738

java ordered list_Java集合之List接口

List接口:有序,可重复。源码展示package java.util;import java.util.function.UnaryOperator;public interface List extends Collection {int size();boolean isEmpty();boolean contains(Object o);Iterator iterator();Object...

weixin_26731219的博客 270

java中List接口

1. List接口 1.1 List接口概述 List接口特征: 1. 数据存储可重复。 2. 有序,添加顺序和保存顺序一致。 --| ArrayList<E> 可变长数组 --| LinkedList<E> 双向链表 --| Vector<E> 线程安全的可变长数组 1.2 List常用方法 增 boolean add(E e); List接口继承Collection接口 add方法,使用操作和Collection一致,并且这 里采用的添加

qq_19999757的博客 333

【java】List接口详解

本文系统梳理了Java中List接口及其父接口Collection的常用方法。List作为有序、可重复且支持索引的集合,在Java开发中应用广泛。文章首先介绍了List的继承关系和核心特性,然后详细讲解了Collection接口中的添加、删除、查询等基础方法,以及List扩展的索引操作方法。同时涵盖了List的多种遍历方式(普通for循环、增强for循环、迭代器)以及与Java 8 Stream API的结合使用技巧,包括过滤、转换、排序等常见操作。

2301_81481532的博客 902

Java集合框架 list接口

Java 集合框架是 Java 标准库中的一个重要组成部分,它提供了一组强大的数据结构和算法,用于存储和操作数据。其中,List是 Java 集合框架中最常用的数据结构之一,用于存储有序的元素集合。下面详细介绍 Java 集合框架中的List接口及其主要实现类。

yuehua00的专栏 1449

【Java】泛型与集合篇 —— List 接口

在 Java 中,List 是一个继承自 Collection 的接口,它代表一个有序的元素集合,允许存储重复的元素,并且每个元素都有一个对应的索引,可以通过索引来访问和操作元素。以下为你详细介绍 List 接口及其常见实现类。Vector 是一个动态数组,它实现了可增长的对象数组。与 ArrayList 类似,Vector 也可以存储任意数量的元素,并且可以根据需要自动调整大小。

m0_72516377的博客 1028

Java的List接口

List接口简介 List集合类中元素有序、且可重复,集合中的每个元素都有其对应的顺序索引。 List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素。 JDK API中List接口的实现类常用的有:ArrayList、LinkedList和Vector。 List 集合里添加了一些根据索引来操作集合元素的方法:

爪哇菌的博客 1295
上一篇: Java——集合、迭代器
下一篇: 基于云计算和大数据的模拟车辆行车监控系统
HY_Chan
博客等级 码龄10年 54粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值