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

news/2024/11/15 8:36:08/

目录

List集合的特点

List集合的遍历方式

五种遍历方式对比


List集合的特点

  • 有序:存和取的元素顺序一致
  • 有索引:可以通过索引操作元素
  • 可重复:存储的元素可以重复
  • Collection的方法List都继承了;
  • List集合因为有索引,所以多了很多索引操作的方法;
import java.util.ArrayList;
import java.util.List;public class ListDemo1 {public static void main(String[] args) {//1.创建一个集合List<String> list=new ArrayList<>();//2.添加元素list.add("aaa");list.add("bbb");list.add("ccc");//void add(int index,E element) 在集合中的指定位置插入指定的元素list.add(1,"QQQ");//[aaa, QQQ, bbb, ccc]//E remove(int index) 删除指定索引处的元素,返回被删除的元素;String remove=list.remove(0);System.out.println(remove);//aaa//[QQQ, bbb, ccc]//E set(int index,E element) 修改指定索引处的元素,返回被修改的元素;String result=list.set(0,"QQQ");System.out.println(result);//E get(int index) 返回指定索引处的元素//3.打印集合System.out.println(list);}}

List集合的遍历方式

  1. 迭代器
  2. 列表迭代器
  3. 增强for
  4. Lambda表达式
  5. 普通for循环
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.function.Consumer;public class ListDemo2 {public static void main(String[] args) {List<String> list=new ArrayList<>();list.add("aaa");list.add("bbb");list.add("ccc");//1.迭代器/*Iterator<String> it=list.iterator();while(it.hasNext()){String str=it.next();System.out.println(str);}*///2.增强for/*for (String s : list) {System.out.println(s);}*///3.Lambda表达式/*list.forEach((String s)-> {System.out.println(s);});*///4.普通for循环/*for (int i = 0; i < list.size(); i++) {//1:依次表示集合中的每一个索引;String s=list.get(i);System.out.println(s);}*///5.列表迭代器//获取一个列表迭代器的对象,里面的指针默认也是指向0索引的;//额外添加了一个方法,在遍历的过程中,可以添加元素;ListIterator<String> it=list.listIterator();while(it.hasNext()) {String str = it.next();if ("bbb".equals(str)) {it.add("qqq");}}System.out.println(list);}
}

五种遍历方式对比

迭代器遍历:在遍历的过程中需要删除元素,请使用迭代器;

列表迭代器:在遍历的过程中需要添加元素,请使用列表迭代器;

如果仅仅想遍历,那么使用增强for或Lambda表达式;

在遍历的时候想操作索引,用普通for;


http://www.ppmy.cn/news/39787.html

相关文章

高效拓客必备工具:采集工具助力,让你事半功倍

在当今竞争激烈的市场环境下&#xff0c;企业想要获得更多的市场份额&#xff0c;拓展更多的客户&#xff0c;必须要进行拓客工作。而在拓客过程中&#xff0c;采集工具是必不可少的工具之一。采集工具可以帮助企业快速获取目标客户的信息&#xff0c;并进行有效的沟通和跟进&a…

第6章 封装组件高级篇(下) - table

--components/table--src--index.vue--index.ts--index.tssrc/index.ts export interface TableOptions {// 字段名称prop?: string,// 表头label: string,// 对应列的宽度width?: string | number,// 对齐方式align?: left | center | right,// 自定义列模板的插槽名slot?…

web + servlet + jdbc mysql 实现简单的表单管理界面

目录数据库创建数据库连接servlet创建,这里注意一下我的数据库我自己改了一下名字lhx网页html运行文件目录展示首先我们准备好开发使用的工具以及配置 idea2020 tomcat8.5 创建javaweb参考idea编译Tomcat详细步骤 IDEA通过JDBC连接数据库请参考jdbc连接数据库 需要登陆注册界面…

2023-04-11 monetdb-BAT及投影限制处理-分析

摘要: monetdb-BAT及投影限制处理-分析 BAT说明 官方说明: Design Overview | MonetDB Docs item strong{BAT Alignment:} Due to the mapping of multi-ary datamodels onto the BAT model, we expect many correspondences among BATs, e.g. emph{bat(oid,attr1),.. bat(oi…

synchronized关键字(作用 + 特点 + 锁升级 + 锁优化 + 与 volatile 对比)

文章目录1. synchronized 的作用1&#xff09;保证原子性2&#xff09;保证内存可见性3&#xff09;保证有序性2. synchronized 特点3. 锁升级的过程1&#xff09;偏向锁2&#xff09;轻量级锁3&#xff09;重量级锁4. 锁的优化操作1&#xff09;锁消除2&#xff09;锁粗化5. s…

ElasticSearch系列 - SpringBoot整合ES:多字段查询 multi_match

文章目录1. 什么是 ElasticSearch 的 multi_match 查询&#xff1f;2. 如何在 multi_match 查询中指定查询字段&#xff1f;3. 如何在 multi_match 查询中指定查询权重&#xff1f;4. SpringBoot整合ES实现 multi_match 查询1. 什么是 ElasticSearch 的 multi_match 查询&#…

[测试新人必看] 测试报告如何编写? 掌握这五十个测试报告模板

作为一个曾经是测试萌新的我&#xff0c;在首次接收到一个任务时总有一种忐忑慌张激动紧张期望的复杂情绪~~ 忐忑慌张紧张是怕自己做不好&#xff0c;得不到领导的赏识&#xff1b;激动期望是哇塞&#xff0c;我有任务了耶&#xff0c;终于有我的用武之地了~~~ 就好比今天的主题…

InnoSetup制作安装包(EXE)

功能描述 1.666666.war为项目war包&#xff0c;666666.bat为启动war包脚本&#xff0c;666666.war与666666.bat需要在相同路径下 2.通过InnoSetup将666666.war和666666.bat打包到666666.exe安装包中&#xff0c;安装完自动执行脚本启动项目 注意&#xff1a;测试脚本可以进行其…