2016-11-22 3 views
-2

Меня учили в колледже, что нужно создать итератор, чтобы пересечь множество.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-loop:

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

Я спросил себя, почему подход с петлей не был показан в колледже.

Имеется ли подход с недостатками обратной связи?

Какой предпочтительный способ перебора множества и почему?

+3

Используйте усиленный цикл, если вам не нужно удалять из набора во время итерации. –

+0

И если вы используете подход итератора, используйте 'Iterator ', а не raw 'Iterator'. –

+2

Вы видели ссылку - http://stackoverflow.com/documentation/java/90/collections/5856/iterating-over-collections ??? –

ответ

1

Нет никакой разницы, поскольку за кулисами вы все равно будете использовать итератор.

То есть p-code будет более чем таким же.

Смежные вопросы