Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Dimitar Stefanov en 10 de Marzo 2016, 22:45
-
Buenas noches.
Una posible solución del ejercicio CU00678B del curso Java desde cero.
EJERCICIO
La interface Set de Java es implementada por las clases HashSet y TreeSet. Busca información sobre estas clases en la documentación del api Java. Crea un programa Java que haga lo siguiente:
a) Declarar un ArrayList de objetos de tipo Set.
b) Crear un objeto de tipo HashSet para contener Strings y haz que contenga las cadenas “sol”, “luna”, “saturno”.
c) Crear un objeto TreeSet para contener Integers y haz que contenga los números 2, 8, 5.
d) Añade los objetos HashSet y TreeSet como elementos del ArrayList.
e) Usa iteradores para recorrer los elementos del ArrayList y recorrer el contenido de cada uno de los elementos y mostrar este contenido por pantalla. Por pantalla deberás obtener “sol”, “luna”, “saturno”, 8, 5, 2.
El código:
import java.util.ArrayList;
import java.util.Set;
import java.util.HashSet;
import java.util.TreeSet;
import java.util.Iterator; //Todos los "import" los podíamos haber hecho con: import java.util.*
public class PolimorfismoJava{
public static void main(String [] Args){
//Definimos y creamos objeto "misListas" de clase "ArrayList" que implementa la interfaz "Set".
ArrayList<Set> misListas;
misListas = new ArrayList<Set>();
//Definimos y creamos objeto "miListaHashSet" (de clase "HashSet") que tendrá tipos "String". La clase "HashSet" implementa la interfaz "Set".
HashSet<String> miListaHashSet;
miListaHashSet = new HashSet<String>();
//Definimos y creamos (en una línea) objeto "miListaTreeSet" (de clase "TreeSet") que tendrá tipos "Integer". La clase "TreeSet" implementa la interfaz "Set".
TreeSet<Integer> miListaTreeSet = new TreeSet<Integer>();
//Añadimos elementos a la array "miListaHashSet".
miListaHashSet.add("sol");
miListaHashSet.add("luna");
miListaHashSet.add("saturno");
//Añadimos elementos a la array "miListaTreeSet".
miListaTreeSet.add(8);
miListaTreeSet.add(5);
miListaTreeSet.add(2);
//Añadimos los objetos "miListaHashSet" y "miListaTreeSet" a la array "misListas".
misListas.add(miListaHashSet);
misListas.add(miListaTreeSet);
//Definimos objetos "Iterator" de tipo "Set", "String" y "Integer" respectivamente.
Iterator<Set> it;
Iterator<String> itHashSet;
Iterator<Integer> itTreeSet;
//Invacamos el método ".iterator()" sobre los objetos "misListas", "miListaHashSet" y "miListaTreeSet" para crear copias de su contenido (colección).
it = misListas.iterator();
itHashSet = miListaHashSet.iterator();
itTreeSet = miListaTreeSet.iterator();
//El bucle "while" exterior recorre los elementos del objeto "misListas", mientras los bucles "while" interiores recorren los objetos "miListaHashSet" y "miListaTreeSet" respectivamente."
while(it.hasNext()){
if(it.next() instanceof HashSet){
System.out.println("Colección en HashSet:");
while(itHashSet.hasNext()){
System.out.print(itHashSet.next()+"; ");
}
System.out.println();
}else{
System.out.println("Colección en TreeSet");
while(itTreeSet.hasNext()){
System.out.print(itTreeSet.next()+"; ");
}
}
}
}
}
Gracias.
-
Hola! Lo veo perfecto
Saludos