Autor Tema: CU00678B que es polimorfismo java concepto definicion ejemplo practico  (Leído 2586 veces)

Jarper

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 20
    • Ver Perfil
Buenos días,

tras estar batallando 3 horas con el código, buscando información y usando el debugger he desistido.
Ayuda!! :P.
Me he fijado que los valores que añado a las diferentes listas se añaden aleatoriamente en la posición de la lista por lo que al recorrerlas con el for each y los iteradores, se muestran tal cual se han añadido en la posición de la lista.

Dejo el 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.

CÓDIGO:
Código: [Seleccionar]
public class Test78
{
    public static void main(String[] args){
        ArrayList<Set> arraySet = new ArrayList<Set>();
        HashSet<String> hashString = new HashSet<String>();
        hashString.add("sol");
        hashString.add("luna");
        hashString.add("saturno");
        TreeSet<Integer> treeInteger = new TreeSet<Integer>();
        treeInteger.add(2);treeInteger.add(8);treeInteger.add(5);
        arraySet.add(hashString);arraySet.add(treeInteger);
        for(Set tmpSet:arraySet){
            Iterator iterator = tmpSet.iterator();
             while(iterator.hasNext()){
                System.out.println(iterator.next());
            }
        }
    }
}

Lo que me imprime por pantalla es: luna, saturno, sol, 2, 5, 8.

Muchas gracias, atentamente.

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Re:CU00678B que es polimorfismo java concepto definicion ejemplo practico
« Respuesta #1 en: 20 de Enero 2015, 19:43 »
Hola Jarper

Tu ejercicio está muy bien, extrae los elementos de la colección y los muestra.

Respecto al orden en que se muestran los elementos, has de recurrir a la documentación de Java:

Para la clase HashSet
No se garantiza el orden en que que añaden los elementos.
Nota: Para tener la lista ordenada habremos de usar otra clase que permita o mantenga el orden de los elementos.

Para la clase TreeSet
Ver su método descendingIterator() para obtener los elementos en orden inverso.

Saludos y adelante.

 

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