三种方式遍历一个list集合

最近碰到一个题目,使用三种方式遍历一个list集合
键盘任意输入的五个int类型变量
使用三种不同的方法遍历集合,遍历输出时不换行,数字之间用空格隔开

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        List<Integer> list = new ArrayList<>();
        int num1 = scanner.nextInt();
        int num2 = scanner.nextInt();
        int num3 = scanner.nextInt();
        int num4 = scanner.nextInt();
        int num5 = scanner.nextInt();
        scanner.close();
        list.add(num1);
        list.add(num2);
        list.add(num3);
        list.add(num4);
        list.add(num5);
        System.out.print("普通for循环遍历:");
        for(int i=0;i<list.size();i++){
            //泛型容器类的获取其长度用size
            //数组,字符串获取其长度用length
            //泛型容器类获取其值可以用get方法,数组则是用[]加下标的方法
            System.out.print(list.get(i)+" ");
        }

        System.out.println();
        System.out.print("增强for循环遍历:");
        for(int i:list){
            System.out.print(i+" ");
        }
        System.out.println();
        System.out.print("迭代器遍历:");
        //Iterator迭代器
        /*
            hasNext()方法:
            用来判断集合中是否有下一个元素可以迭代。如果返回true,说明可以迭代。
            Next()方法:
            用来返回迭代的下一个元素,并把指针向后移动一位。
        */
        Iterator it = list.iterator();
        while(it.hasNext()){
            System.out.print(it.next()+" ");
        }
        System.out.println();
    }
}