インターフェイスコレクションの反復を一覧表示します(コレクションは続きます)
for ****ループトラバーサル
インデックス値を介して対応するデータ情報を取得します
注:コレクションの長さは、要素を削除した後に変更されますiは後方に成長し続けます
ループトラバーサル用に拡張
また、イテレータを介して情報を取得します
-
トラバーサルが許可されていないときに要素を操作する
-
操作(削除)が例外をスローする場合
-
ループを終了するために操作を中断する必要がある場合、1つの操作のみが許可されます。それ以外の場合は、例外がスローされます。
イテレータトラバーサル(イテレータ)
コレクションを通じてイテレータを返します。
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);
}
}