| Las Colecciones |
Paso 5: Operativa genéricos List |
Primero vamos a ver el funcionamiento habitual de una colección sin la utilización de genéricos y seguidamente veremos el mismo ejemplo utilizando genéricos.
Ausencia de Genéricos
Vamos a crear la Clase ContinentesSinGenericos que va a contener el siguiente código
package paqcolecciones;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ContinentesSinGenericos {
List listaContinente;
public ContinentesSinGenericos() {
crearArrayList();
añadirElementosFinalColeccion();
recorrerElementosIterator();
}
public void crearArrayList(){
listaContinente = new ArrayList();
}
public void añadirElementosFinalColeccion(){
listaContinente.add("Europa");
listaContinente.add("Asia");
listaContinente.add("Oceania");
}
public void recorrerElementosIterator(){
for (Iterator i = listaContinente.iterator(); i.hasNext();){
String strContinente = (String) i.next();
System.out.print(strContinente + " ");
}
}
public static void main(String[] args) {
new ContinentesSinGenericos();
}
} |
Fijémonos como el asistente de NetBeans nos indica que el método next() nos devuelve un objeto de tipo Object. Por tanto nos vemos obligados a realizar un casting para pasar este objeto de tipo Object a un objeto de tipo String

Utilización de Genéricos
Vamos a crear la Clase ContinentesConGenericos que va a contener el siguiente código
package paqcolecciones;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ContinentesConGenericos {
List<String> listaContinente;
public ContinentesConGenericos() {
crearArrayList();
añadirElementosFinalColeccion();
recorrerElementosIterator();
}
public void crearArrayList(){
listaContinente = new ArrayList<String>();
}
public void añadirElementosFinalColeccion(){
listaContinente.add("Europa");
listaContinente.add("Asia");
listaContinente.add("Oceania");
}
public void recorrerElementosIterator(){
for (Iterator<String> i = listaContinente.iterator(); i.hasNext();){
String strContinente = i.next();
System.out.print(strContinente + " ");
}
}
public static void main(String[] args) {
new ContinentesSinGenericos();
}
} |
Fijémonos como el asistente de NetBeans nos indica que el método next() nos devuelve un objeto de tipo String. Por tanto no nos vemos obligados a realizar un casting para pasar este objeto de tipo String a un objeto de tipo String
