自学Java第二十八课
List
继承自Collection,有序集合(序列),用户使用List可以精确控制元素的插入位置,通过索引访问元素并搜索元素;与Set不同,List可以存储重复的元素。
List特有方法
void add(int index,E element) | 将指定元素添加至指定位置 |
E remove(int index) | 删除指定位置元素,返回E |
E set(int index,E element) | 修改指定位置元素,返回 E |
E get(index) | 返回指定位置元素 |
List可以使用get方法索引遍历
List案例,List集合继承自Collection,可以使用Iterator或for循环遍历
并发修改异常
原因:迭代器遍历过程中,通过集合对象修改了集合中的元素长度,造成迭代器获取元素判断预期修改值和实际修改值不同。
if(list.equals("hello")){ list.add("java") }
解决:用for循环遍历,然后用集合对象操作。
ListIterator
1、通过List集合的ListIterator()方法得到;
2、用于允许程序员沿任一方向遍历列表的列表迭代器,在迭代期间修改列表,并获取列表中迭代器当前位置。
常用方法
E next() | 返回迭代中下一个元素 |
boolean hasNext() | 迭代更多元素,返回true |
E previous() | 返回列表中上一个元素 |
boolean hasPrevious() | 此列表迭代器在相反方向遍历列表有更多元素,返回true |
void add(E e) | 将指定元素插入列表 |
增强for循环
目的:简化数组和Collection集合的遍历
实现Iterator接口的类允许其对象称为增强型for语句目标。
原理:Iterator迭代器
格式 for(元素数据类型 变量名:数组或Collection名){}
可以用
if...{list.add()}测验原理。
明天将继续学习集合结构体系。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署