Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Dan_SB en 11 de Abril 2015, 06:21

Título: Diferencias entre Set, TreeSet y HashSet Java. Ejercicio polimorfismo CU00678B
Publicado por: Dan_SB en 11 de Abril 2015, 06:21
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:

(http://i.imgur.com/th3MVbs.png)

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!!!
Título: Re:Ejercicio (CU00678B), Ayuda con polimorfirmo en java!
Publicado por: toni_apr 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
Título: Re:Ejercicio (CU00678B), Ayuda con polimorfirmo en java!
Publicado por: Dan_SB en 12 de Abril 2015, 01:39
Vaya o,o

Guardare tu código para practicar, gracias!