package Collection;

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

public class Foreach {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		   List<String> list1=new ArrayList<>();
		   list1.add("a");
		   list1.add("b");
		   list1.add("c");
		   list1.add("d");
		   list1.add("e");
		   
		  //第一种循环方式
		   for(int  i=0;i<list1.size();i++)
		   {
			   System.out.print(list1.get(i));
		   }
		   System.out.print("/////");
		   //第二种循环方式
		   for(int j=0,k=list1.size();j<k;j++)//c此处j和k不用同时定义+
		   {
			   System.out.print(list1.get(j));
		   }
		   System.out.print("/////");
		   //第三种循环方式
		   int l=list1.size();
		   for(int m=0;m<l;m++)
		   {
			   System.out.print(list1.get(m));
		   }
		   System.out.print("/////");
		   //第四种循环方式
		   for(int n=list1.size()-1;n>=0;n--)
		   {
			   System.out.print(list1.get(n));
		   }
		   System.out.print("/////");
		   
		  //总结循环步骤就是第一步执行(int n=list1.size()-1),第二步执行(n>=0),第三步System输出,
		   //第四步执行 (n--),第五步然后执行(n>=0),第六步System输出;此后按这循环
		   
		   //第五种循环方式
		   for(String o:list1)  
		   {
			   System.out.print(o);
		   }
		   //此处要注意有这样几个陷阱;1增强for里面应该打List<String>中集合的类型
		   // 2 对于要循环的对象中间用:隔开,接着集合名称
		    //3 打印的时候直接输出对象集合不用在list1的get()方法
		   System.out.print("/////");
		   //第六种循环方式
		   Iterator<String> p=list1.iterator();
		   while(p.hasNext())
		   {
			   System.out.print(p.next());
		   }
		   //当迭代器有hasNext()时,输出这个next()
	}

}