Ir al contenido principal

Java Tip 12: Uso de for each

En está ocasión veremos como recorrer colecciones (arrays, listas, etc.) usando el clásico for y el "for each".

¿Qué es un array?
 Una estructura de datos con elementos del mismo tipo y cuyo tamaño es definido. En Java, el índice de un array inicia en cero.
final int TAM = 10;
//Definimos un arreglo con un tamaño de 10
int[] arreglo = new int[TAM];

int numeros[] = {11,22,33,44,55,66,77};
int tamanyo = numeros.length;

char[] caracteres = {'A','B','C'};
caracteres[0] = 'X';
caracteres[1] = 'Y';
caracteres[2] = 'Z';



try{
   caracteres[3] ='\u0043';
}catch(Exception ex){
  System.err.println("Tratas de acceder a un índice que no existe: "+ex.toString());
}


for(int n = 0 ; n < numeros.length; n++){
  System.out.printf("%d\n",numeros[n]);
}

¿Qué es una lista?
Una colección de elementos del mismo tipo cuyo tamaño es variable.
import java.util.ArrayList;

//...

ArrayList<String> listaNombres = new ArrayList<>();

listaNombres.add(0, new String("Thomas"));
listaNombres.add(1, "Horacio");
listaNombres.add(2, "Juliana");

Nota: La diferencia principal entre un arreglo y una lista es que lista puede crecer; un arreglo tiene un tamaño definido.


Es importante saber que con un bucle for tenemos mayor control que con un do-while y un while.

//Clásico for
for(int i=0; i < listaNombres.size();i++){
  System.out.println(listaNombres.get(i));
}

//For Each
for(String nombre : listaNombres){
  System.out.println(nombre);
}

Además con una lista podemos hacer algo como esto:
//Recorrer una lista con un 'for each'
listaNombres.forEach(System.out::println);

También podemos hacer ciclos infinitos:

int infinito = 0;

for(;;){
  System.out.println(infinito);
  infinito++;
}

for(true)
   System.out.println("Hola");

Con Java tenemos un mundo por aprender. En posteriores post veremos más sobre estructuras de datos y sentencias de control.

Comentarios

Entradas populares de este blog

¿Cómo diseñar una API REST? (Youtube)

Lo nuevo de Java desde la versión 12 hasta la 22

Aquí unos enlaces a varias publicaciones sobre algunos nuevos aspectos del lenguaje Java, desde la versión 12 a la 22. Expresiones Switch en Java Una nueva funcionalidad en el lenguaje: las expresiones switch. https://emanuelpeg.blogspot.com/2025/01/expresiones-switch-en-java.html API de Servidor Web Simple en Java Una API de Servidor Web Simple que permite crear servidores HTTP ligeros sin necesidad de dependencias externas. https://emanuelpeg.blogspot.com/2025/02/api-de-servidor-web-simple-en-java.html Clases Record Una implementación de las data-clases o del patrón Data Transfer Object, un tipo de clase cuyo único propósito es impulsar la programación con datos inmutables. https://alquimistadecodigo.blogspot.com/2025/02/java-clases-record.html https://emanuelpeg.blogspot.com/2025/02/record-en-java.html Clases Selladas y coincidencia de patrones en Java https://emanuelpeg.blogspot.com/2025/03/clases-selladas-y-coincidencia-de.html https://emanuelpeg.blogspo...

Clojure para programadores Java (1)

Clojure es un lenguaje de programación similar a Lisp. Corre bajo la JVM (Java Virtual Machine) y emplea la programación funcional y orientada a objetos. El sitio oficial dice: Clojure es un lenguaje de programación robusto, práctico y rápido con un conjunto de características útiles que juntas forman una herramienta simple, coherente y poderosa. Creando el Hola,mundo en Clojure. holamundo.clj (println "Hola, mundo en Clojure!!" ) La extensión de un programa en este lenguaje es .clj Como se puede notar la base es colocar las sentencias entre parentesis. ( operador/funcion var1 var2 varN) Deberás descargar Clojure, tener instalado Maven y Java. A continuación se muestra una forma de obtener el JAR de Clojure para ejecutar nuestros programas. En la Línea final podemos acceder al shel o REPL del lenguaje. $ git clone https ://github.com/clojure/clojure.git $ cd clojure $ mvn -Plocal -Dmaven.test.skip=true package $ java -jar clojure.jar E...