JAVA — List
1.1 List 集合概述
- 有序集合(也成为序列),用户考研精确控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜查列表中的元素
- 与 Set 集合不同,列表通常允许重复的元素;
1.2 List集合特点
有序:
存储和取出的元素顺序一致;
可重复:
存储的元素可重复;
1.3 List集合特有方法
void add( int index , E element )
z在此集合中的指定位置插入指定的元素;
E remove( int index )
删除指定索引处的元素,返回被删除的元素;
E set( int index , E element )
修改指引处的元素,返回被修改的元素;
E get( int index )
返回指定索引处的元素;
1.4 并发修改异常
并发修改异常:
- ConcurrentModificationException
产生原因:
- 在迭代器遍历的过程中,通过集合修改了集合中元素的长度就会发生此异常;
- 该异常发生的原理是迭代器在进行遍历之前会统计理应执行的长度,而一旦修改了集合长度,就会出现实际要使用的长度跟遍历之初所确定的长度不一致,故发生异常;
解决方案:
使用 for 或 while 循环遍历;
1.5 Listlterator
Listlterator:列表迭代器
- 通过 List 集合的 listlterator();
- 用于允许程序员沿任一方向遍历列表的列表迭代器,在迭代期间修改列表,并获取列表中迭代器的当前位置;
Listlterator 中的常用方法
- E next():返回迭代中的下一个元素;
- boolean hasNext():如果迭代具有更多元素,则返回 true ;
- E previous():返回列表中的上一个元素;
- boolean hasPrevious():如果此列表迭代器在相反方向遍历列表时具有更多元素,则返回 true ;
- void add( E e ):将指定的元素插入列表;
1.6 增强 for 循环
增强 for ( 即 foreach 循环):简化数组和 Collection 集合的遍历;
- 实现 Iterable 接口的类允许其对象成为增强型 for 语句的目标;
- JDK5 之后出现的,内部原理是一个 Iterable 迭代器;
格式:
for( 元素数据类型 变量名 : 数组或 Collection 集合 ){
}