List接口集合迭代(集合续)
for****循环遍历
通过索引值获取所对应的数据信息
注意:删除元素后 集合的长度发生变化 i一直向后增长
增强for循环的遍历
也是通过迭代器的方法获取信息
-
不允许遍历时,对元素进行操作
-
如果进行操作(删除) 会抛出异常
-
只允许操作一次,操作后必须 break结束循环 否则会抛出异常
迭代器遍历(Iterator)
通过集合返回迭代器。
package day3;
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList alist=new ArrayList();
alist.add("a");
alist.add("s");
alist.add("d");
alist.add("f");
alist.add("g");
/*
for 循环遍历
注意:删除元素后 集合的长度发生变化 i一直向后增长
*/
/*for (int i = 0; i <alist.size() ; i++) {
if (alist.get(i).equals("s")){
alist.remove(i);
}
}
System.out.println(alist);*/
/*
增强for循环 不允许遍历时,对元素进行操作
如果进行操作(删除) 会抛出异常
只允许操作一次,操作后必须 break结束循环 否则会抛出异常
*/
/*for (Object obj: alist) {
if (obj.equals("a")){
alist.remove(obj);
break;
}
}
System.out.println(alist);*/
/*
Iterator 集合迭代器
*/
Iterator iterator = alist.iterator();
//hasNext() 检测迭代器中是否含有元素
while (iterator.hasNext()){
Object obj =iterator.next();
if (obj.equals("a")){
iterator.remove();
break;
}
}
System.out.println(alist);
}
}