Autor Tema: Concepto definición de polimorfismo en Java meter en una colección CU00678B  (Leído 2431 veces)

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Buenas noches.

Una posible solución del ejercicio CU00678B del curso Java desde cero.

Citar
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:

Código: [Seleccionar]
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.
« Última modificación: 11 de Marzo 2016, 14:32 por César Krall »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Hola! Lo veo perfecto

Saludos
Responsable de departamento de producción aprenderaprogramar.com

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".