Hola. Dejo el ejercicio CU00678B del tutorial pdf de programación java.
Concepto definición de polimorfismo en Java. ¿Qué es el polimorfismo? .
Me he extendido un poco mas de la cuenta en el código porque no entendía bien el funcionamiento del ArrayList Polimorfo.
Gracias al ejercicio que dejo SantiagoArg pude aclararme de que va el tema ya que soy un poco corto de entendederas.
Pongo alguna presentación en pantalla utilizando contadores para poder ver el funcionamiento del Iterator ya que este no utiliza contadores (que se vean) y si hay alguien que no se aclare y le puede servir aquí esta.
import java.util.*;
public class TestPolimorfismo {
public static void main (String[] Args) {
ArrayList<Set> lista = new ArrayList<Set>(); //Declaración del ArrayList lista tipo Set
Set<String> setCadena = new HashSet<String>(); // Creación del objeto tipo HashSet con contenido Strings
Set<Integer> setEnteros = new TreeSet<Integer>();// Creación del objeto tipo TreeSet con contenido Integer
//Llenar ArrayList String
setCadena.add("sol");
setCadena.add("luna");
setCadena.add("saturno");
//Llenar ArrayList Integer
setEnteros.add(2);
setEnteros.add(8);
setEnteros.add(5);
//Presentar por pantalla el contenido del HashSet setCadena.
Iterator enumCadena = setCadena.iterator(); // Crear el iterador para enumCadena
System.out.print("ARRAYS Y POLIMORFISMO\n\n" );
System.out.print("Elementos en setCadena (String)\n" );
System.out.print("Item en enumCadena() : ");
while (enumCadena.hasNext()) {
System.out.print( enumCadena.next()+ ";");
}
//Presentar por pantalla el contenido del TreeeSet setEnteros.
Iterator enumEnteros = setEnteros.iterator(); // Crear el iterador para enumEnteros
System.out.print("\nElementos en setEnteros (Integer)\n" );
System.out.print("Item en enumEnteros() : ");
while (enumEnteros.hasNext()) {
System.out.print( enumEnteros.next()+"; ");
}
// Añadir al ArrayList lista el HashSet (El String) y el TreeSet (El Integer).
lista.add(setCadena);lista.add(setEnteros);//Polimorfismo Arraylist con diferentes tipos de objetos
System.out.print("\n\nPRESENTAR LISTA CON FOR EXTENDIDO e Iterator \n");
int s=0;
for (Set listaDeLista : lista) {
Iterator<Set> sublistaTmp =listaDeLista.iterator();
System.out.println("\nComponente ("+s+") de la lista "+listaDeLista);
int n=0;
while (sublistaTmp.hasNext()){
System.out.println("Componente ("+s+") de lista Componente Iterator<Set> ("+n+") : "+sublistaTmp.next());
n++;
}
s++;
}
}
}
Espero que este todo bien.
Gracias.
Un saludo.