(Anterior) Java 5 / JDK 5

Ciclos de iteración simplificados

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.

Menú Curso

Objetos, Java y JDK

Composición, Clases y Librerías("Packages").

Variables, Constructores, Métodos y Comentarios.

Herencias ("Inheritance"), Condicionales y Ciclos

Operadores, Errores y Datos de Entrada/"Streams".

Interfases, Arreglos y Polimorfismo.

Collections Framework, "Threads", Garbage Collection y "Assertions".

Java 5 / JDK 5 .

Instalación Software.

Codigo.