遍历ArrayList的4种方法

以下4种方法有什么不同,个人感觉好象没什么不同..除了用跌代器看上去比较帅以外....

  package com.test;

  import java.util.ArrayList;

  import java.util.Iterator;

  import java.util.List;

  public class ArrayListDemo {

  public static void main(String args[]){

  List list = new ArrayList();

  list.add("luojiahui");

  list.add("luojiafeng");

  //方法1

  Iterator it1 = list.iterator();

  while(it1.hasNext()){

  System.out.println(it1.next());

  }

  //方法2  怪异!

  for(Iterator it2 = list.iterator();it2.hasNext();){

  System.out.println(it2.next());

  }

  //方法3

  for(String tmp:list){

  System.out.println(tmp);

  }

  //方法4

  for(int i = 0;i < list.size(); i ++){

  System.out.println(list.get(i));

  }

  }

  }