List集合--java进阶day09

news/2025/3/25 5:14:52/文章来源:https://www.cnblogs.com/zhishi6/p/18787895

1.List集合

以下面的例子来解释存储有序和存储重复

如上图,我们是怎么添加这些字符串的,打印的时候就是按照这个顺序打印的--存取有序

并且“张三”出现了两次,也存入了两次--存储重复

因为List有索引,所以该接口有关于索引的独特的api


..

1.remove注意事项

List有两个remove方法,一个是根据内容删元素,来自Collection,另一个是自身的根据索引做删除

我们将泛型改为Integer,然后存入111,222,333,因为这三个是整数类型,系统会帮我们自动装箱,修改为Integer类型

假如我们要删除222,那么我们选择remove根据内容删,就会出现问题

出现了索引越界异常,系统把我们的222当成了索引

--此时我们要手动装箱,将222修改为Integer类型,这时再根据内容做删除就不会出现这种问题了


..

2.List遍历操作

第四个操作和ArrayList一样,不多说,主要说第五种方法

1.ListIterator迭代器

与普通迭代器使用方法一样

3.并发修改异常

如图,我们要删除掉集合中的“温油”,遍历集合的时候,调用了集合的remove方法


..

设计者担心迭代器在遍历操作时,使用者乱动数据,导致系统出错,所以设置了此异常

解决方法--使用迭代器自带的增删方法

普通迭代器里自带删除方法,如果我们要删除某些元素,使用迭代器调用remove即可

如果要增加某个元素,普通迭代器里没有add方法,我们要使用ListIterator迭代器,该迭代器自带增加方法


..

总结

了解一个并发修改异常的小bug

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pydantic字段级校验:解锁@validator的12种应用

title: Pydantic字段级校验:解锁@validator的12种应用 date: 2025/3/23 updated: 2025/3/23 author: cmdragon excerpt: Pydantic校验系统支持通过pre验证器实现原始数据预处理,在类型转换前完成字符清洗等操作。格式验证涵盖正则表达式匹配与枚举值约束,确保护照编号等字…

20244126 2024-2025-2 《python程序设计》实验一报告

课程:《Python程序设计》 班级:2441 姓名:马晓霞 学号:20244126 实验教师:王志强 实验日期:2025年3月23日 必修/选修:公选课 (一)实验内容 1.熟悉Python开发环境 2.练习Python运行,调试技能 3.编写技能,练习变量和类型、字符串、对象、缩进和注释等 4.编写一个猜数字…

1.6K star!这个开源文本提取神器,5分钟搞定PDF/图片/Office文档!

Kreuzberg 是一个基于 Python 的文本提取库,支持从 PDF、图像、Office 文档等 20+ 格式中提取文本内容。采用 MIT 开源协议,具备本地处理、异步架构、智能 OCR 等特性,特别适合需要隐私保护的文档处理场景。嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开…

leetcode每日一题:判断一个括号字符串是否有效

题目 一个括号字符串是只由 ( 和 ) 组成的 非空 字符串。如果一个字符串满足下面 任意 一个条件,那么它就是有效的:字符串为 (). 它可以表示为 AB(A 与 B 连接),其中A 和 B 都是有效括号字符串。 它可以表示为 (A) ,其中 A 是一个有效括号字符串。给你一个括号字符串 s 和…

实验2c语言分支与循环基础应用编程

任务一:1 #include <stdio.h>2 #include <stdlib.h>3 #include <time.h>4 5 #define N 56 7 int main() {8 int number;9 int i; 10 11 srand(time(0)); // 以当前系统时间作为随机种子 12 for(i = 0; i < N; ++i) { 13 nu…

矿用人员违规闯入监控报警系统

矿用人员违规闯入监控报警系统,设置警戒预警功能,巷道正在行车时,当有行人闯入时,及时抓拍、识别现场违章入侵人员同时闪光警示和音箱报警提示禁止进入,在绞车运行期间人员误入斜巷能够及时报警,自动停止绞车运行。该系统做到绞车运行和行人的安全隔离,有力保障了煤矿斜…

工厂车间人员违规闯入禁区报警系统

工厂车间人员违规闯入禁区报警系统前端设备嵌入AI人体识别算法,对人员的检测、跟踪,实现对人体检测分析识别,实时预警周界区域内人员入侵事件。当有可疑人员进入监测范围内可对其自动识别,即对其抓拍并将当时图像传输到管理中心,在管理中心输出报警信号。工厂车间人员违规…

iis备份还原工具,想要备份iis有哪些工具可以实现?

想要备份IIS(Internet Information Services),可以使用多种专门的备份还原工具。以下是一些常用的IIS备份还原工具及其简要介绍:IISBackUp 功能:专注于备份和恢复IIS站点设置,包括网站配置文件、站点绑定信息、应用程序池设置、SSL证书和密钥信息等。 特点: 提供一种方便…

集合的通用遍历方法--java进阶day09

1.集合的三种通用遍历方法之前我们学习过集合的遍历方法,为什么这里还要再学呢? 这是因为,之前我们用的遍历方法使用了索引,但我们知道set接口的实现类的集合均无索引,所以我们要学习通用的遍历方法 2.迭代器遍历 1.迭代器 迭代器叫做Iterator,是一个接口,我们知道接口是…

安卓逆向:adb连接模拟器进行jeb动态调试

这篇文章的内容记录下我在各个文章搜索学习最后解决了安卓进行模拟器动态调试的方法。 参考的文章有: ADB:https://blog.csdn.net/Python_0011/article/details/132040387 ADB的使用https://blog.csdn.net/SM1555/article/details/112608576 Androidkiller:https://blog.csdn.…

Java中的Map CAS AQS

Java中的Map 1.基本介绍和api使用就免了 Java中的Map是一种用于存储键值对(Key-Value)的接口,属于java.util包,是集合框架的重要组成部分。 2.HashMap从图中的关系可以看出这些类间关系了。 ①基本分析 HashMap的一些属性 // 默认容量 16 static final int DEFAULT_INITIAL…

一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!

前言 今天大姚给大家分享一款基于 .NET 开源(GPL-2.0 license)、免费、功能强大的 Windows 远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议:mRemoteNG。 项目介绍 mRemoteNG是一款基于 .NET 开源(GPL-2.0 license)、免费、功能强大的 Windows 远程连接管理工具,支…