Autor Tema: Diferencias entre Set, TreeSet y HashSet Java. Ejercicio polimorfismo CU00678B  (Leído 5300 veces)

Dan_SB

  • Avanzado
  • ****
  • Mensajes: 273
  • *<DanielsCK>*
    • Ver Perfil
Buenas noches!!

Vengo a pedirles ayuda!! estoy truncado aqui con esto del polimorfismo!! hago el ejercicio del capitulo 78° del curso:

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.


La  cuestion es esta: No se como utilizar el iterator aqui... no se si necesito un aire o estoy bloqueado.. u,u

Hice este codigo:

Código: [Seleccionar]
package Polimorfo;
import java.util.TreeSet;
import java.util.Arrays;
import java.util.HashSet;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Set;

public class PracticaJava {
      public static void main(String[]args){
          Integer arrayNum[] = new Integer[]{2,8,5};
          String astros[] = new String[]{"Sol","Luna","Saturno"};
          ArrayList<Set> lista = new ArrayList<Set>();
          Iterator <Set> recorre = lista.iterator();
          HashSet<String> listaAstro = new HashSet<String>();
          TreeSet<Integer> numeros = new TreeSet<Integer>();
          listaAstro.addAll(Arrays.asList(astros));
          numeros.addAll(Arrays.asList(arrayNum));
          lista.add(listaAstro);
          lista.add(numeros);
          System.out.println("Datos de la coleccion: ");
          for(Set temp: lista){
              System.out.println(lista);
          }
      }
    }

Estaba tan cerrado :( bueno use un for each para saber si al menos la lista apaño clases diferentes en una y salio esto:



Lo apaño!! pero q va, repite.. ahora la cosa es como hago para imprimir con iterator... se que es como esto:

while(recorre.hasNext()){
      Set aux = recorre.hasNext(); <----- aqui manda error
      Sytem.out.println("Elemento: " + aux);
}

Quisiera saber que hago mal.... espero sus comentarios!!!
« Última modificación: 12 de Abril 2015, 21:58 por Alex Rodríguez »
"Luchar por tus sueños y cumplirlos... eso es vivir.."

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Re:Ejercicio (CU00678B), Ayuda con polimorfirmo en java!
« Respuesta #1 en: 11 de Abril 2015, 22:31 »
Hola Dan

Aquí tienes un enlace al mismo ejercicio hecho por otro usuario del foro.
Si quieres hacer tu propia versión para este ejercicio, estudia el código y adáptalo a tu gusto.

https://www.aprenderaprogramar.com/foros/index.php?topic=2229.msg10737#msg10737

Saludos

Dan_SB

  • Avanzado
  • ****
  • Mensajes: 273
  • *<DanielsCK>*
    • Ver Perfil
Re:Ejercicio (CU00678B), Ayuda con polimorfirmo en java!
« Respuesta #2 en: 12 de Abril 2015, 01:39 »
Vaya o,o

Guardare tu código para practicar, gracias!
"Luchar por tus sueños y cumplirlos... eso es vivir.."

 

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".