インターフェイスコレクションの反復を一覧表示します(コレクションは続きます)

インターフェイスコレクションの反復を一覧表示します(コレクションは続きます)

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);
    }
}

おすすめ

転載: blog.csdn.net/ZJ_1011487813/article/details/110204342