collection - java foreach consumer action
java: ¿cuántas veces se evalúa la expresión de colección en un "foreach" (2)
Si hago esto en Java:
for(String s : myCollection.expensiveListGeneration())
{
doSomething();
}
¿CaroListGeneration () se invoca solo una vez al principio o en cada ciclo de iteración?
¿Depende la implementación?
Se invoca una vez, y no depende de la implementación. El bucle for-each se basa en la interfaz de Iterable
. Todo lo que hace es llamar al método iterator()
la colección una vez al principio, y luego funciona con ese iterador.
porque es equivalente a usar un iterador, es equivalente a llamar a las colecciones ''. Método iterador (), y se llama una vez.