List接口集合迭代(集合续)

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

猜你喜欢

转载自blog.csdn.net/ZJ_1011487813/article/details/110204342