Java:迭代集合的最佳方式是什么?

问题描述:

我在大学教过,必须创建一个迭代器来遍历一组。Java:迭代集合的最佳方式是什么?

java.util.HashSet<String> set = new java.util.HashSet<String>(); 

set.add("Green"); 
set.add("Blue"); 
set.add("Yellow"); 
set.add("Orange"); 
set.add("Red"); 

Iterator it = set.iterator(); 

while (it.hasNext()) { 
    String current = (String) it.next(); 

    System.out.println(current); 
} 

现在我在同事的代码中看到有一种更简单的方法来实现它。使用一个for循环:

for (String str : set) { 
    System.out.println(str); 
} 

我问自己,为什么用for循环的方法在大学没有显示。

有for-loop的缺点吗?

迭代一个集合的最好方法是什么?为什么?

+3

如果您不需要在迭代过程中从集合中删除,请使用增强的for循环。 –

+0

如果您使用迭代器方法,请使用'Iterator ',而不是原始的'Iterator'。 –

+2

您是否看到链接 - http://*.com/documentation/java/90/collections/5856/iterating-over-collections ??? –

没有区别,因为幕后你仍然会使用迭代器。

也就是说,p-code会更不相同。