#java #foreach
#java #foreach
Вопрос:
Есть ли какая-либо альтернатива в Java, которая может соответствовать foreach{}
доступной на других языках, таких как C # или VB, или на других языках? Иногда это может быть очень полезно и почти обязательно в некоторых очень специфических обстоятельствах.
Может ли следующий while(){}
цикл в Java быть заменен циклом foreach или некоторыми другими концепциями, которые могут существовать в Java и соответствовать foreach ?
public class Demo
{
public static void main(String[] args)
{
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("A");
arrayList.add("B");
arrayList.add("C");
arrayList.add("D");
arrayList.add("E");
Iterator<String>it=arrayList.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
}
Я долго искал в Google, но не смог.
Комментарии:
1. Первый результат в Google для «foreach в java» — цикл For-Each
2. На самом деле, я сосредоточился на ключевом слове «foreach», поэтому я, возможно, не смогу его увидеть.
3. Никогда не предполагайте, что ключевые слова будут одинаковыми: P
Ответ №1:
Если объект реализует Iterable
или это массив, вы можете использовать расширенный цикл for-each (представленный в Java 5.0)
for(E e : MyCollection) {
// stuff
}
Если ваш пример, вы можете сделать
ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
for(String s : list) System.out.println(s);
Технически в вашем примере использовался непараметризованный список, поэтому вы бы использовали
for(Object o : arrayList) System.out.println(o.toString());