随笔 - 217  文章 - 4  评论 - 4  阅读 - 23587

自学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()}测验原理。

明天将继续学习集合结构体系。

 

posted on   跨越&尘世  阅读(23)  评论(0编辑  收藏  举报
编辑推荐:
· 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上本地化部署
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示