个人认为使用Iterator的好处在于,可以用相同的方式来遍历集合,而不用去考虑集合的内部实现,比如,用Iterator来对集合进行遍历,一旦不使用List而用Set来组织数据,那么遍历的代码不用做任何修改,但是如果用for循环来遍历集合,那么所有的算法代码都要修改。 
如果对ArrayList来进行遍历,那么用for循环要比Iterator快,但是如果换成LinkedList,那么Iterator就要比for快的多。