package com.sf._02_遍历集合;

import java.util.ArrayList;
import java.util.Iterator;

public class Test {
    public static void main(String[] args) {
        /**
         * 创建ArrayList 往集合当中添加3 个元素进行遍历
         */
        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        // 第一种使用for 循环进行遍历
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
        System.out.println("-------------------------------------------");
        // 使用foreach 方式进行遍历
        for (Integer integer : list) {
            System.out.println(integer);
        }
        System.out.println("---------------------------------");
        // 第三种使用迭代器进行遍历
        // java 当中集合他们实现迭代器接口 , 这个迭起也可以帮我们进行比那里
        /**
         * 而且foreach 在遍历 会检查遍历元素是否实现了迭代器接口
         * 如果实现了迭代器接口foeach 底层就使用迭代器进行 遍历
         * 如果没有实现迭代器接口底层就是for 循环进行遍历
         *
         * foreach 遍历集合  他的底层使用都是迭代器进行遍历
         */
        Iterator<Integer> iterator = list.iterator();
        while (iterator.hasNext()){
            Integer ele = iterator.next();
            System.out.println(ele);
        }
    }
}
