Java中列表的基本操作

news2025/1/18 18:46:16

文章目录

    • 1、定义列表
    • 2、增删改操作
    • (1)新增
    • (2)删除
    • (3)修改
    • 3、访问列表
    • 4、遍历列表
    • (1)for循环遍历
    • (2)foreach遍历
    • (3)iterator迭代器遍历
    • 5、列表转换
    • 6、其他操作

列表有下标,是一个可变容器,元素可以重复,Java中list包含arraylist和linklist,通常使用的是arraylist,查询速度更快,导入的包是java.util.ArrayList。

1、定义列表

定义列表时,如果指定列表接受的数据类型为8大数据类型,需要使用对应数据类型的包装类;列表是一个可变容器,定义后默认元素为空。

//创建一个list
List<String> animallist = new ArrayList<>();

//创建一个ArrayList,接受数据类型为String
ArrayList <String> arlist = new ArrayList <String>();

//创建一个ArrayList,接受数据类型为Int
ArrayList <Integer> brlist = new ArrayList <Integer>();

2、增删改操作

(1)新增

新增主要使用add方法,默认在尾部添加,也可以在指定位置添加,addAll方法可以添加整个集合到列表。

List<String> animallist = new ArrayList<>();
//默认尾部添加
animallist.add("dog");
animallist.add("cat");
animallist.add("fish");
//在指定位置添加
animallist.add(1,"fish");
animallist.add(3,"bird");
animallist.add(5,"cat");

ArrayList <String> arlist = new ArrayList <String>();
//将animallist中的元素添加到arlist
arlist.addAll(animallist);

(2)删除

列表中的元素,可以使用remove方法根据下标删除,也可以根据值删除,如果有多个重复的值,默认删第一个。也可以使用clear方法删除所有元素。

animallist.remove(1);
animallist.remove("cat");
arlist.clear();		

(3)修改

列表中的元素,可以使用set方法修改元素值,操作时如果下标越界则会报错 。也可以使用replaceAll方法将给定的操作内容替换掉列表的中每一个元素。

animallist.set(3, "snake");           
animallist.set(4, "snake");//执行结果报错java.lang.IndexOutOfBoundsException: Index: 4, Size: 4
//replaceAll方法替换掉所有元素
animallist.replaceAll(a -> a +"s");//在所有元素后加上s

3、访问列表

列表可以直接输出;size方法可以获取到列表的长度,get方法可以通过索引获取到列表对应元素,indexOf方法可以获取对应元素的索引。

// 输出整个列表
System.out.println(animallist);
// 输出列表的长度
System.out.println(animallist.size()); 
// 通过索引获取列表对应元素
System.out.println(animallist.get(1));
// 获取列表元素的索引值
System.out.println(animallist.indexOf("birds"));

输出结果为:
在这里插入图片描述

4、遍历列表

遍历列表主要有3种方式,for循环遍历,foreach遍历,iterator迭代器遍历。

(1)for循环遍历

for循环通过列表的下标遍历。

// for循环下标遍历
System.out.println("++++++++++++++for循环下标++++++++++++++++");
for (int index = 0; index < animallist.size(); index += 2) {
	System.out.print(animallist.get(index) + " ");
	}

(2)foreach遍历

foreach直接遍历列表中的元素。

// foreach遍历
System.out.println("+++++++++++++foreach循环所有+++++++++++++");
for (String s : animallist) {
	System.out.print(s + " ");
	}

(3)iterator迭代器遍历

//iterator迭代器遍历
System.out.println("+++++++++++++iterator遍历+++++++++++++++");
Iterator<String> lit = animallist.iterator();//声明list的迭代器
while (lit.hasNext()) {
	String value = lit.next();
	System.out.println(value + " ");
	}

5、列表转换

列表可以通过对应方法直接转为数组或字符串。toArray将 arraylist 转换为数组;toString将 arraylist 转换为字符串。

// 列表转为数组
String[] animals=new String[4];
animallist.toArray(animals);
// 遍历数组
for (String i:animals){
		System.out.println(i);
		}
// 列表转为字符串
System.out.println(animallist.toString());

输出结果为:
在这里插入图片描述

6、其他操作

列表的一些其他操作包括:
sort方法------对arraylist 元素进行排序;
subList方法------截取部分 arraylist 的元素;
isEmpty方法判------断 arraylist 是否为空;
contains方法------判断元素是否在 arraylist;

// 升序排列
animallist.sort(Comparator.naturalOrder());
System.out.println(animallist);
// 按照列表索引截取部分列表
System.out.println(animallist.subList(1, 3));//索引区间左闭右开
// 判断是否为空
System.out.println(animallist.isEmpty());
// 判断是否包含某元素
System.out.println(animallist.contains("dogs"));

输出结果是:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/155487.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

weblogic t3协议报错

目录 1、背景 2、报错信息 3、检测t3协议是否正常 1、背景 在上次生产环境版本升级的时候遇到问题&#xff0c;运维人员告知升级失败&#xff0c;然后首先怀疑是版本问题&#xff0c;就仔细检查了版本信息&#xff0c;没发现异常&#xff0c;然后与运维沟通获取到报错信息如…

如何利用 knest 构建数据中心的 Kubernetes as a Service?

随着越来越多的企业和应用转向云原生架构&#xff0c;对 Kubernetes 集群的需求也日趋多样化和灵活化。出于故障隔离的考虑&#xff0c;企业的数据中心往往需要多个独立的 Kubernetes 集群来承载不同的业务&#xff0c;而不是全部署在一个共享 Kubernetes 集群上。此外&#xf…

elastic search window安装,基础概念,项目实例

elastic searchelasticsearch场景window 安装教程基本配置成功标志基础知识名词概念介绍文档元数据索引创建原则创建实例创建索引指定 分区&#xff0c;片区的创建创建带有类型、映射的索引(Index)创建文档创建文档spring boot 整合项目实践全文检索高亮显示elasticsearch场景 …

CANoe的各模块节点是如何选择应用层通道的

当CANoe为Channel-based access模式时,需要配置软硬件通道的映射;当CANoe为Network-based access模式时,需要配置软硬件网络的映射 通道映射: 网络映射: 当然,只有CANoe软件工作模式为Real bus时,才需要软硬件通道或网络映射。如果工作模式为Simulated bus时,不需要软…

如何使用 Authing 实现 AWS CLI 单点登录?

越来越多企业和开发者依赖使用 Authing 单点登录 SSO 来便捷无缝的访问 AWS 服务。随着组织将更多业务上云&#xff0c;为员工提供无缝安全的访问认证&#xff0c;以此来提升员工的工作效率和保障企业的信息安全至关重要。 但随着业务的扩张&#xff0c;会发现在 AWS 环境中管…

pdf转换成word加密怎么办,这个方法能派上用场!

处理文档的时候难免遇到各种难题&#xff0c;就比如格式切换&#xff0c;PDF转word就是很常见的需求。有些工作性质比较特殊&#xff0c;对文档对保密性也有要求。这时候不仅要会把PDF转成word文档&#xff0c;还要学会给文档加密。有没有工具能把这两件事都办到呢?答案是有&a…

直播美颜SDK贴纸功能实现流程、贴纸代码分析

时下&#xff0c;直播美颜SDK已经成了大家日常拍摄以及专业美颜的必备工具。另外它也接入到了各种社交平台、短视频平台、直播平台中&#xff0c;此类平台中大部分用户都熟练掌握了美颜SDK的拍摄技巧&#xff0c;特别是短视频平台中&#xff0c;几乎每个用户都曾经使用过。根据…

极光笔记 | 如何为 iOS 16 创建一个实时活动

01、iOS 16 中的 Live Activity &#xff08;实时活动&#xff09;是什么&#xff1f;根据 Apple 官方描述&#xff0c;“实时活动是一项新功能&#xff0c;可帮助用户直接从锁定屏幕实时获知各种事情的进展&#xff0c;例如体育比赛、锻炼、拼车或送餐订单进度等等” 。例如&a…

Revit中基线的作用和【类型可见性】功能

一、Revit中基线的作用 Revit中基线是一个重要但又容易被忽视的内容&#xff0c;本文就简单介绍一下基线的一些常用功能&#xff0c;基线的作用&#xff1a; 1、参照底图 基线调整为其他层时&#xff0c;可以在当前视图中半色调显示&#xff0c;方便参照。 2、定位 3、基线还可…

【UE4 第一人称射击游戏】35-击中目标时添加准心提示

上一篇&#xff1a;【UE4 第一人称射击游戏】34-制作一个简易计时器本篇效果&#xff1a;可以看到击中目标后有了一个红色准心的提示效果步骤&#xff1a;新建一个控件蓝图&#xff0c;命名为“Hitmarker”双击打开“Hitmarker”&#xff0c;拖入一个图像控件&#xff0c;锚点设…

前端性能优化(七):前沿优化解决方案

目录 一&#xff1a;拯救移动端图标 - SVG 1.1.从 PNG 到 IconFont 1.2.从 IconFont 到 SVG 二&#xff1a;使用 Flexbox 优化布局 三&#xff1a;优化资源的加载顺序 3.1.Preload 3.2.Prefetch 四&#xff1a;预渲染页面 五&#xff1a;Windowing&#xff08;窗口化&…

Tomcat集群应用同步 —— 源码分析

文章目录前言一、应用同步的配置与实现原理二、应用同步源码分析三、如何获取集群的节点列表四、通讯模块Tribe五、集群的Session同步六、集群的Session共享总结前言 相信大家对Tomcat的集群部署都不陌生&#xff0c;以往&#xff0c;我们手动搭建一个Tomcat的集群环境&#x…

2023年运动耳机最新排行榜公布、公认最好用的五款运动耳机推荐

建议大家不要轻易尝试那些低价运动耳机&#xff0c;因为这些耳机大多数&#xff0c;只能满足基本听个响&#xff0c;舒适度和蓝牙稳定性都有代提高。通勤使用还勉强&#xff0c;运动强度一大&#xff0c;耳机容易掉落不说&#xff0c;蓝牙连接也很容易掉线&#xff0c;体验感受…

【自学Python】Python算术运算符

Python算术运算符 Python算术运算符教程 Python 中算术运算符是对 数值类型 的 变量 进行运算的&#xff0c;比如&#xff1a;加、减、乘、除、取模、整除和乘方运算等。 Python算数运算符语法 运算符说明实例结果加12.34 43.2155.55-减43.21 - 12.3430.87*乘2 * 3.141596…

springdata个人学习笔记

​ 入门 初始化springboot 依赖引入 <!-- springdata--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId&g…

node与node-sass版本对应

node&#xff1a;14.0.0 npm install sass-loader7.3.1 node-sass4.14.1 --savenode-sass对应node https://github.com/sass/node-sass/releases node-sass 和 sass-loader 的对应关系一般的情况下4.XX.YY&#xff0c;XX就是对应Node XX 版本 参考

Java常用工具类方法(下)

8. IOUtilsIO流在我们日常工作中也用得比较多&#xff0c;尽管java已经给我们提供了丰富的API。但我们不得不每次读取文件&#xff0c;或者写入文件之后&#xff0c;写一些重复的的代码。手动在finally代码块中关闭流&#xff0c;不然可能会造成内存溢出。有个好消息是&#xf…

一文搞懂Linux 环境变量

一文搞懂Linux 环境变量1.环境变量分类2.读取环境变量3.环境变量修改在 Linux 系统中&#xff0c;环境变量是用来定义系统运行环境的一些参数&#xff0c;比如每个用户不同的主目录&#xff08;HOME&#xff09;。 1.环境变量分类 按照作用域来分&#xff0c;环境变量可以简单…

【阶段三】Python机器学习13篇:机器学习项目实战:支持向量机分类的算法原理

本篇的思维导图: 支持向量机分类的算法原理 支持向量机分类算法的基本思路 1.最大间隔 支持向量机说到底就是一种“线性分类器”,它以“间隔”作为损失的度量,目标通过不断调整多维的“直线”——超平面,使得间隔最大化。所谓“支持向量”,就是所有数据点中直接参…

Lichee_RV学习系列---移植dhrystone

系列文章目录 Lichee_RV学习系列—认识Lichee_RV、环境搭建和编译第一个程序 文章目录系列文章目录一、dhrystone简介二、dhrystone源码下载三、dhrystone移植1、移植官方源码2、移植GitHub开源代码a&#xff1a;修改Makefile文件b&#xff1a;编译3、执行dhrstone代码总结一、…