|
En base a su ambiente, abra un Editor de Textos para generar el siguiente ejemplo. Recuerde que debe utilizar la versión Java 5 / JDK 5 para ejecutar los siguientes ejemplos. |
Vayamos directo a ilustrar un ejemplo con esta funcionalidad :
public class Numeros {
public static void main(String[] args) {
int[] factorial = new int[] { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
// Nueva sintaxis ciclo for en Java 5
for (int digito : factorial) {
System.out.println(digito);
}
}
}
|
Nótese la manera en que esta estructurada la iteración sobre el arreglo de números enteros (int's) :
for ( [Tipo de referencia] [Nombre de referencia dentro del ciclo] : [ Arreglo o colección para iterar] ) {
}
|
Este caso de inspeccionar o procesar todos los elementos dentro de un arreglo o colección del "Collections Framework" es clásico en programas Java. Mediante esta sintaxis se evita la definición de un contador y condicionales para terminar ciclos, simplemente basta declarar el arreglo o colección en sí y una variable, para que cada iteración sea asignado un elemento del grupo a dicha variable para ser procesada.Veamos otro uso de este ciclo for en una lista :
import java.util.*;
public class Idiomas
{
public static void main(String args[])
{
// Definir un ArrayList
List<String> lenguajes = new ArrayList<String>();
lenguajes.add("ingles");
lenguajes.add("castellano");
lenguajes.add("aleman");
// Nueva sintaxis ciclo for en Java 5
for( String tipo : lenguajes ) {
System.out.println(tipo);
}
}
}
|
De la misma manera en que es utilizado este ciclo en arreglos es aplicado a clases del "Collections Framework", al inspeccionar los elementos dentro de la colección lenguajes, es definida la colección en sí y una variable donde se coloca un elemento del grupo en cada iteración para ser procesado. Nótese la ausencia de la clase Iterator y sus métodos hasNext() y next() comunmente empleados en este tipo de ciclos.
Limitaciones de for en Java 5
Aunque esta sintaxis de ciclo for resulta igualmente válida y concisa para procesar elementos en un arreglo o colección, posee las siguientes limitaciones :
Incapacidad de acceso al contador : En determinadas situaciones resulta conveniente accesar el contador del ciclo, ya sea para fines de aplicar condicionales o salir de él prematuramente, al utilizar el ciclo for con la nueva sintaxis de Java 5, no se tiene acceso a esta información.
Eliminar o agregar elementos : Otra limitante del ciclo for en Java 5 es la inhabilidad de agregar o eliminar objetos dentro de un arreglo o colección de manera selectiva durante el proceso de iteración.
Si requiere emplear alguna de estas funcionalidades en su programa, simplemente tendrá que depender de la sintaxis común y antiguamente conocida en versiones previas a Java 5.
