Buen día. Presento código correspondiente a posible solución del ejercicio propuesto CU00678B del curso de fundamentos de programación Java con BlueJ.
import java.util.*;
/**
* Corresponde al ejercicio CU00678B - Curso "Aprender Programación java desde cero"
* de aprenderaprogramar.com
*
* Julio/2017
*/
/* Enunciado:
(a).-Declarar un ArrayList de objetos tipo 'Set'
(b).-Crear un objeto de tipo 'HashSet' para contener Strings y que contenga
las cadenas: "sol", "luna", "saturno".
(c).-Crear un objeto de tipo 'TreeSet' para contener Integer y que contenga
los números: 2, 8, 5.
(d).-Usando iteradores para recorrer los elementos del ArrayList y el contenido
de cada uno de los elementos, mostrar por pantalla.*/
/*Nota: Se ha añadido con fines didácticos mostrar también los componentes de los
objetos HashSet y TreeSet.*/
public class TestPolimorfismo {
public static void main (String[] Args) {
ArrayList<Set> lista1 = new ArrayList<Set>(); //item 'a'
Set<String> s = new HashSet<String>(); //item 'b'
s.add("sol");
s.add("luna");
s.add("saturno");
//Muestro los componentes del HashSet
System.out.print("Item (b)- Los componentes de 's': ");
Iterator it1 = s.iterator();
while (it1.hasNext()) {
System.out.print(it1.next()+ "; ");
}
Set<Integer> t = new TreeSet<Integer>(); //item 'c'
t.add(2);
t.add(8);
t.add(5);
//Muestro los componentes del TreeSet
System.out.println("");
System.out.print("Item (c)- Los componentes de 't': ");
Iterator it2 = t.iterator();
while (it2.hasNext()) {
System.out.print(it2.next()+ ("; "));
}
//item 'd' - Se añaden los objetos HashSet y TreeSet al ArrayList
lista1.add(s);
lista1.add(t);
System.out.println("");
System.out.print("Item (d)- Los componentes del ArrayList: ");
//item 'e' recorrido del ArrayList mediante iteradores para mostrar los componentes
Iterator it3 = lista1.iterator();
while (it3.hasNext()) {
Iterator it4 = ((Set)it3.next()).iterator();
while (it4.hasNext()) {
System.out.print(it4.next()+ "; ");
}
}
}
}