Autor Tema: Java polimorfismo Un constructor es sólo para construir el objeto CU00678B  (Leído 2278 veces)

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Solución propuesta para el ejercicio CU00678B del tutorial de programación java desde cero:

CLASE PRINCIPAL MAIN

Código: [Seleccionar]
package ejerciciosc00678b;

public class EjerciciosC00678B {

    public static void main(String[] args) {

        MiLista lista = new MiLista();

        lista.Listar();
    }

}

CLASE CONTENEDORA DEL ARRAY

Código: [Seleccionar]
package ejerciciosc00678b;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.TreeSet;

public class MiLista {

    private ArrayList listas;

    public MiLista() {
        listas = new ArrayList();
        HashSet<String> listaHashSet = new HashSet<>();
        listaHashSet.add("sol");
        listaHashSet.add("luna");
        listaHashSet.add("saturno");

        TreeSet listaTreeSet = new TreeSet();
        listaTreeSet.add(8);
        listaTreeSet.add(5);
        listaTreeSet.add(2);

        listas.add(listaHashSet);
        listas.add(listaTreeSet);
    }

    public void Listar() {
        Iterator it = listas.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
    }

}
« Última modificación: 09 de Mayo 2016, 09:32 por Alex Rodríguez »

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Re:Ejercicios de java desde cero (CU00678B).
« Respuesta #1 en: 06 de Mayo 2016, 14:53 »
Buenas tardes, DRANXZ88.

Creo que no has cumplido con esta parte del ejercicio:

Citar
a) Declarar un ArrayList de objetos de tipo Set.

b) Crear un objeto de tipo HashSet para contener Strings...

c) Crear un objeto TreeSet para contener Integers...

Además, por crear todo el objeto en una clase que no contien "main", creo que mejor síntaxis sería esta:

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

public class MiLista {

    private ArrayList<Set> listas;
    private HashSet<String> listaHashSet;
    private TreeSet<Integer> listaTreeSet;

    public MiLista() {
        listas = new ArrayList<Set>();
        listaHashSet = new HashSet<String>();
        listaTreeSet = new TreeSet<Integer>();
    }
   
    public void addListaHashset(){
        listaHashSet.add("sol");
        listaHashSet.add("luna");
        listaHashSet.add("saturno");
    }
   
    public void addListaTreeSet(){
        listaTreeSet.add(8);
        listaTreeSet.add(5);
        listaTreeSet.add(2);
    }
   
    public void addMiLista(){
        listas.add(listaHashSet);
        listas.add(listaTreeSet);
    }

    public void Listar() {
        Iterator it = listas.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
        //System.out.println("HOla");
    }

}

Así vemos cada método que hace. Un constructor es sólo para construir el objeto, no para añadir atributos en él. Por supuesto, ya que hemos definido el objeto de tal manera en el "main" tienes que invocar todos los métodos necesarios del objeto "MiLista". El main quedará así:

Código: [Seleccionar]
public class EjerciciosC00678B {

    public static void main(String[] args) {

        MiLista lista = new MiLista();
        lista.addListaHashset();
        lista.addListaTreeSet();
        lista.addMiLista();
        lista.Listar();
    }

}

Saludos :)

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Re:Concepto de polimorfismo en Java. CU00678B
« Respuesta #2 en: 06 de Mayo 2016, 16:52 »
Gracia por la aclaración no sabia luengo como era un array de tipo set ahora ya entiendo  :)

 

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