1.2.List集合中常见的方法和五种遍历方式

遍历List集合的三种方法 遍历List集合的三种方法 List<String> list = new ArrayList<String>(); list.add("aaa"); list.add("bbb"); list.add("ccc"); 方法一: 超级for循环遍历 for(String attribute : list) { System.out.println(attribute); } 方法二: 对于ArrayList来说速度比较快, 用for循环, 以size为条件遍历: for(in 阅读详情
AI摘要

本文详细介绍了Java中List集合的特有方法,包括add、remove、set和get的操作含义及使用示例。同时,文章还列举了五种常见的List遍历方式,如迭代器遍历、列表迭代器遍历、增强for循环、Lambda表达式及普通for循环,并对它们进行了对比分析。

一.List集合的特有方法:

List集合也是一个接口,不能直接创建对象,可用向上转型的方式创建对象。


二.举例:

a.void add(int index,E element)->在此集合中的指定位置插入指定的元素

细节:原来索引上的元素会依次往后移

b.E remove(int index)->删除指定索引处的元素,返回被删除的元素(E代表元素)

package com.itheima.a02myList;
​
import java.util.ArrayList;
import java.util.List;
​
public class A01_ListDemo1 {
    public static void main(String[] args) {
        //1.创建一个集合
        List<String> list=new ArrayList<>();
​
        //2.添加元素
        list.add("aaa");//这个add方法中不用写索引,这是继承Collection集合的add
        list.add("bbb");//1索引上
        list.add("ccc");
​
        //void add(int index,E element)->在此集合中的指定位置插入指定的元素
        list.add(1,"QQQ");
​
        //E remove(int index)->删除指定索引处的元素,返回被删除的元素(E代表元素)
        String remove=list.remove(0);
        System.out.println(remove);
​
        //3.打印集合
        System.out.println(list);
         /*运行结果为:aaa
                    [QQQ, bbb, ccc]*/
    }
}
​

c.E set(int index,E element)->修改指定索引处的元素,返回被修改的元素

package com.itheima.a02myList;
​
import java.util.ArrayList;
import java.util.List;
​
public class A01_ListDemo1 {
    public static void main(String[] args) {
        //1.创建一个集合
        List<String> list=new ArrayList<>();
​
        //2.添加元素
        list.add("aaa");//这个add方法中不用写索引,这是继承Collection集合的add
        list.add("bbb");//1索引上
        list.add("ccc");
​
        //E set(int index,E element)->修改指定索引处的元素,返回被修改的元素
        String result=list.set(0,"QQQ");
        System.out.println(result);//运行结果为aaa
​
        //3.打印集合
        System.out.println(list);//运行结果为[QQQ, bbb, ccc]
​
    }
}
​

d.E get(int index)->返回指定索引上的元素

package com.itheima.a02myList;
​
import java.util.ArrayList;
import java.util.List;
​
public class A01_ListDemo1 {
    public static void main(String[] args) {
        //1.创建一个集合
        List<String> list=new ArrayList<>();
​
        //2.添加元素
        list.add("aaa");//这个add方法中不用写索引,这是继承Collection集合的add
        list.add("bbb");//1索引上
        list.add("ccc");
​
        //E get(int index)->返回指定索引上的元素
        String s=list.get(0);
        System.out.println(s);//运行结果为aaa
​
        //3.打印集合
        System.out.println(list);//运行结果为[aaa, bbb, ccc]
​
    }
}
​

三.List集合的遍历方式:

1.迭代器遍历:

如:

package com.itheima.a02myList;
​
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
​
public class A03_ListDemo3 {
    public static void main(String[] args) {
        //创建集合并添加元素
        List<String> list=new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
​
        //迭代器
        //获取迭代器对象
        Iterator<String> it=list.iterator();
        while (it.hasNext()){
            String s=it.next();
            System.out.println(s);
            /*运行结果为aaa
                      bbb
                      ccc*/
        }
​
    }
}
​

2.列表迭代器遍历:(要用到接口ListIterator,可通过API帮助文档看详解)

如:

package com.itheima.a02myList;
​
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
​
public class A03_ListDemo3 {
    public static void main(String[] args) {
        //创建集合并添加元素
        List<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
​
        //列表迭代器遍历
         //获取一个列表迭代器对象,该列表迭代器里面的指针默认指向0索引
        ListIterator<String> it = list.listIterator();
        while (it.hasNext()){
            String s=it.next();
            System.out.println(s);
            /*运行结果为aaa
                      bbb
                      ccc
                      */
        }
    }
}
​

3.增强for遍历:

如:

package com.itheima.a02myList;
​
import java.util.ArrayList;
import java.util.List;
​
public class A03_ListDemo3 {
    public static void main(String[] args) {
        //创建集合并添加元素
        List<String> list=new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
​
        //增强for遍历
        /*下面的变量s其实就是一个第三方的变量而已,
          在循环的过程中依次表示集合中的每一个元素
         */
        for (String s : list) {
            System.out.println(s);
            /*运行结果为aaa
                      bbb
                      ccc*/
        }
    }
}
​
​

4.Lambda表达式遍历:

如:

package com.itheima.a02myList;
​
import java.util.ArrayList;
import java.util.List;
​
public class A03_ListDemo3 {
    public static void main(String[] args) {
        //创建集合并添加元素
        List<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
​
        //Lambda表达式
        /*forEach方法的底层其实就是一个循环遍历,依次得到集合中的每一个元素
          并把每一个元素传递给下面的accept方法
          accept方法的形参s,依次表示集合中的每一个元素
         */
        list.forEach(s -> System.out.println(s));
        /*运行结果为aaa
                  bbb
                  ccc*/
    }
}
​

5.普通for循环(因为List集合存在索引):

如:

package com.itheima.a02myList;
​
import java.util.ArrayList;
import java.util.List;
​
public class A03_ListDemo3 {
    public static void main(String[] args) {
        //创建集合并添加元素
        List<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
​
        //普通for循环
        //核心:size方法,get方法以及循环,利用索引获取集合中的每一个元素
        for (int i = 0; i < list.size(); i++) {
            //i:依次表示集合中的每一个索引
            String s= list.get(i);
            System.out.println(s);
            /*运行结果为aaa
                      bbb
                      ccc
             */
        }
    }
}
​

四.补充:

package com.itheima.a02myList;
​
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
​
public class A03_ListDemo3 {
    public static void main(String[] args) {
        //创建集合并添加元素
        List<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
​
        //列表迭代器遍历
         //获取一个列表迭代器对象,该列表迭代器里面的指针默认指向0索引
​
         //当中额外添加了一个方法:在遍历的过程中,可以添加元素->不能用add即集合添加元素的方法
         //只能用迭代器自身拥有的添加元素的方法->用迭代器调用
        ListIterator<String> it = list.listIterator();
        while (it.hasNext()){
            String s=it.next();
            if("bbb".equals(s)){
                //此时添加qqq
                it.add("qqq");//不能用集合添加即list.add("qqq");
            }
        }
        System.out.println(list);//运行结果为[aaa, bbb, qqq, ccc]
    }
}
​

五.五种遍历方式对比:


五.List集合的删除操作:


招行收款通SM2加密解密全流程解析:PHP开发者必看 本文详细解析了招商银行收款通服务中SM2加密解密的完整流程,特别针对PHP开发者提供了从密钥管理到签名验签的实战指南。涵盖国密算法基础、PHP环境配置、密钥安全存储及生产环境优化方案,帮助开发者快速实现高安全性的支付系统集成。 阅读详情

相关推荐

[学习笔记]Esp32 + 4G模块,随身wifi,ppp拨号上网

Esp32S3 + 4G模块制作随身WIFI教程

weixin_45595548的博客 7416

【集合】遍历 List 集合的几种方式

1. 初始化 List 集合 List<String> list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("c"); 2. 遍历 方式一:for循环 最基础的遍历方式:for循环,指定下标位置,使用 List 集合的 get(i) 方法来获取元素。 for(int i=0; i<list.size(); i++){ System.out.println(list.get(i)); } 方

小谷围最靓的仔 2万+

大疆 DJI Mobile SDK实战指南——从零构建Android示例开发环境

本文提供了一份详尽的DJI Mobile SDK Android开发环境搭建实战指南。文章手把手教你从注册开发者账号、获取App Key,到配置Android Studio、下载官方示例代码,最终成功运行DJI官方Android示例程序,帮助开发者快速入门无人机应用开发,避开常见编译与依赖问题。

weixin_29188043的博客 275

List三种遍历方式详解

list集合 list集合常用方法 1、add(int index, Object obj) 在指定的索引增加值 ` List list = new ArrayList(); list.add(0, “abc”); list.add(0, “xyz”); list.add(1, “qq”); 2、remove(int index) 根据指定索引删除数据 list.remove(1) 3、set(int index, Object obj) 将指定索引处的元素进行修改 list.set(1,“qq”);

get_Max的博客 2万+

51单片机-点亮LED和蜂鸣器

ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。ULN2003是大电流驱动陈列,多用于单片机、只能仪表、PLC、数字量输出卡等控制电路中。可直接驱动蜂鸣器、继电器等负载。void delay(u16 i) // i等于1大约10uswhile(i--);//取反,高低电平不断变化,产生脉冲delay(10);// 周期200us。

三日沐水 1128

SigFit实战:从FEA到光学仿真的热力耦合分析全流程解析

在光机系统与芯片封装等精密工程领域,热与力的耦合效应是影响产品性能与可靠性的核心物理问题。有限元分析(FEA)是预测结构在热、力载荷下变形与应力的基础工具,但其结果通常无法直接用于评估光学性能。这需要一座桥梁,将物理场数据转化为光学设计语言。其核心原理在于数据映射与面形表征技术,例如通过泽尼克多项式拟合,将离散的节点位移分解为离焦、像散等标准光学像差。这项技术的工程价值在于,它实现了多物理场仿真的闭环,使工程师能在设计阶段精准预测热变形或应力对波前误差、调制传递函数等关键光学指标的影响。其典型应用场景包括高

weixin_28630185的博客 340

List集合遍历的五种方法

List集合遍历的五种方法

7me 3万+

FFmpeg实战:5分钟搞定m3u8视频下载与ts文件合并(附完整命令)

本文详细介绍了如何使用FFmpeg快速下载m3u8视频并合并ts文件为mp4格式。通过简洁的命令行操作,读者可以轻松完成视频处理任务,包括环境准备、链接获取、下载合并及性能优化等实用技巧,特别适合需要高效处理流媒体内容的用户。

weixin_30836759的博客 221

List常用方法总结

常用方法有: 一、测试添加方法、数组转列表方法,获取下标方法 -1.add(E e) :将指定的元素追加到此列表的末尾(可选操作)。 -2.list.indexOf(obj):获取当前元素的下标:返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。 -3.add(int index, E element) :将指定的元素插入此列表中的指定位置(可选操作)。 -4.Array...

CellIce的博客 1538

【Leetcode】269.火星词典(Hard)

应用拓扑排序

明朗晨光的专栏 771

毕设助力!从0到1构建基于YOLO的家居安防异常活动监测系统,让你的毕设守护家庭安全

做完这个项目,你会发现自己完整走过了“数据采集→标注→模型训练→功能集成→界面开发”的毕设全流程,这不仅是技术能力的证明,更是对“技术守护生活”这一理念的实践。答辩时,你可以重点讲这几点:系统解决了家居安防的哪些痛点、对比了不同YOLO模型的性能差异、系统未来能怎么优化(比如对接智能门锁/报警器、实现语音交互)。未来,这个系统还能往“更智能”的方向发展:比如结合行为分析判断异常意图、开发移动端APP实现全屋设备联动、在智慧社区中实现多家庭联防……想象空间很大。

LXY_LOVE36的博客 124

遍历集合的五种方法

遍历集合的五种方法

weixin_52832606的博客 826

YOLOv8-pose姿态估计模型从训练到RK3588部署:让边缘端骨骼识别速度突破60FPS

本教程从“模型训练-转换-边缘部署”全链路拆解了YOLOv8-pose姿态估计方案在RK3588上的落地过程,每一步都经过实战验证。无论是智能健身的动作实时纠正,还是工业设备的关键部件姿态检测,这套流程都能让你以最低成本实现高精度、高实时性的姿态估计应用。如果你在实践中遇到模型转换报错、部署性能不达标等问题,可聚焦某一环节深入优化——毕竟,让AI在边缘端“精准捕捉每一个关键点”,才是技术驱动场景创新的核心。

know_F0727的博客 192

Java的List介绍以及常见方法和五种遍历方式

本文详细阐述了Java的List介绍以及常见方法和五种遍历方式

驴大毛的博客 3581

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【Java】List集合的遍历方式

在正式学习之前,我们先来回忆一下刚刚说过的话:List继承于Collection,因此在Collection中所有的方法在List里面都是可以使用的。我们在Collection中讲解了三种遍历方式,这三种遍历方式在List集合中也是可以使用的,但是在这些的基础上,它还有自己单独的方式。forEach方法的底层其实就是一个循环遍历,依次得到集合中的每一个元素,并把每一个元素传递给下面的accept方法。添加,因为在用迭代器遍历集合的过程中,不能使用集合的方法 删除 / 添加。

qq_39921135的博客 5589

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【Java集合进阶】list常见的方法和五种遍历方式&数据结构

后进先出,先进后出。队列:先进先出,后进后出。数组:内存连续区域,查询快,增删慢。链表:元素是游离的,查询慢,首尾操作极快。

人若无名,便可专心练剑 3555

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

遍历List集合的五种方式

遍历List集合的五种方式 //创建一个集合 ArrayList<Student> alist = new ArrayList<>(); //向集合中添加元素 alist.add(new Student("张三",1)); alist.add(new Student("李四",2)); alist.add(new Student("王五",3));...

bug生成师 1673

List集合的五种遍历方式

一、List五种遍历方式 1、普通for遍历 2、 增强for遍历 3、Lambda表达式 4、迭代器遍历 5、列表迭代器

qi341500的博客 6515

【Java】List集合遍历的五种方法

🎊专栏【Java】🌺每日一句:人生最重要的就是要清醒的认知。

2301_80760873的博客 7209

Java List集合的五种遍历方式详解:以学生数据处理为例

本文介绍了Java中List集合的5种遍历方法:普通for循环(支持索引操作)、增强for循环(语法简洁)、Iterator(安全删除元素)、ListIterator(双向遍历)和Java8 forEach(函数式风格)。通过学生数据处理案例,分析每种方法的适用场景和特点,建议根据需求选择合适方式:简单遍历用增强for,需要索引操作用普通for,删除元素用Iterator,复杂数据处理可用forEach配合StreamAPI。掌握这些方法能提升代码效率和可读性。

yixin896522的博客 1679

JDK1.8中遍历List集合的几种方式

本文大纲: 一、List集合循坏方式:for循坏、forEach循坏、迭代器Iterator以及Lambda表达式。 二、Iterator迭代器和ListIterator迭代器的比较 本文以ArrayList为例。 一、for循坏 public class ForList { public static void main(String[] args) { List<Integer...

PrimeYun的博客 2万+

java集合进阶--List中常见的方法和五种遍历方式

E remove(int index) 删除指定索引处的元素,返回被删除的元素。E set(int index,E element) 修改指定索引处的元素,返回被修改的元素。普通for:如果遍历的时候想操作索引,可以使用普通for循环。列表迭代器:在遍历的过程中需要添加元素,请使用列表迭代器。迭代遍历器:在遍历的过程中需要删除元素,请使用迭代器。的列表迭代器,在迭代期间修改列表,并获取列表中迭代器的当前位置。三、ListIterator介绍。

m0_73703409的博客 1473

Java:List中常见的方法和五种遍历方式

E set(int index,E element)----------->修改指定索引处的元素,返回被修改的元素。void add(int index,E element)----------->在此集合中的指定插入指定的元素。E remove(int index)----------->删除指定索引处的元素,返回被删除的元素。E get(int index)----------->返回指定索引处的元素。List集合因为有索引,所以多了很多索引操作的方法。有索引:可以通过索引操作元素。

TNTxd的博客 2305

Java中遍历集合的方法(List集合、Set集合和Map集合)

一、遍历List集合(三种方式) List<String> list = new ArrayList<>(); list.add("Tom"); list.add("Jack"); list.add("Jerry"); //1、传统for循环遍历 for (int i = 0;...

IT_Helianthus的博客 2092

【集合进阶】 04-List中常见的方法和五种遍历形式

List系列集合中的两个删除的方法。

Dr_cz的博客 243

List集合常见方法及5种遍历 (集合进阶 2)

E get(int index) 获取一个元素,返回索引处的元素。E remove(int index) 删除一个元素,返回删除的元素。E set(int index,E element) 修改一个元素,返回被修改的元素。(上面的三种遍历看集合进阶1,此处不在赘述)列表迭代器遍历(增加了add 方法,可以在迭代过程中添加元素)普通for遍历(因为有了索引,可以使用)list集合的五种遍历方式。

m0_62645012的博客 2520
上一篇: 1.1.单列集合顶层接口Collection的遍历方式
下一篇: 1.13.MySQL-DQL-条件查询
巧克力拌面
博客等级 码龄3年 1153粉丝 282原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值