Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: ronal.d87 en 02 de Julio 2015, 11:40

Título: Java acceder a un objeto anónimo contenido en un ArrayList ejercicio CU00668B
Publicado por: ronal.d87 en 02 de Julio 2015, 11:40
Citar
¿Se puede acceder a un objeto anónimo contenido en un ArrayList? ¿Se puede inicializar un objeto de una clase que contiene tres atributos de tipo objeto declarando en el constructor que los atributos se inicializan mediante objetos anónimos?

NO SE PUEDE ACCEDER A UN OBJETO ANONIMO DESDE UN ARRAYLIST YA QUE NO CONTAMOS CON UN CAMPO O UN NUMERO DE REFERENCIA RESERVADA EN MEMORIA PARA HACER EL LLAMADO.

SI SE PUEDE INICIALIZAR Y ESTO LO PODEMOS HACER DE LA SIGUIENTE MANERA
video.add (new Pelicula (“Romeo y Julieta”, 165, "Nominada a Oscar");
Título: Re:EJERCICIO CU00668B REALIZADO
Publicado por: RaGa en 02 de Julio 2015, 14:56
Hola Ronald:

La primera respuesta no es correcta.
La segunda respuesta está perfecta , y bien ejemplificada.

Volvamos entonces sobre la primera pregunta.
Te propongo el siguiente ejemplo:

Clase Jugador
Código: [Seleccionar]
public class Jugador {

    private String nombre;     
    private double altura;

    public Jugador(String nombre, double altura) {
        this.nombre = nombre;         
        this.altura = altura;
    }

    public String getNombre(){
        return nombre;
    }
   
    public double getAltura(){
        return altura;
    }
   
    public void setNombre(String valorNombre){
        nombre = valorNombre;
    }
   
    public void setAltura(double valorAltura){
        altura = valorAltura;
    }
   
} // fin de la clase

Clase TestJugador
Código: [Seleccionar]
import java.util.ArrayList;

public class TestJugador {

    public static void main(String[] args){
        ArrayList<Jugador> lista = new ArrayList<Jugador>();
       
        // carga de objetos tipo Jugador al objeto ArrayList de nombre lista
        lista.add(new Jugador("Lionel Messi",1.69));
        lista.add(new Jugador("Javier Mascherano",1.75));   
       
        // recorrido de la lista
        System.out.println("\fLista de Jugadores\n");
        for (Jugador tmp:lista){
            System.out.println("Nombre: "+tmp.getNombre()+"\tAltura: "+tmp.getAltura());
        }
       
    }
   
} // fin de la clase


Analicemos la clase TestJugador

Fíjate que en las líneas de código:

Código: [Seleccionar]
lista.add(new Jugador("Lionel Messi",1.69));
lista.add(new Jugador("Javier Mascherano",1.75));

lo que hacemos es instanciar dos objetos anónimos tipo Jugador, y a su vez los agregamos al objeto tipo ArrayList llamado lista.

Luego, en estas líneas de código:

Código: [Seleccionar]
        for (int i=0; i<lista.size();i++){
            System.out.println("Nombre: "+lista.get(i).getNombre()+"\tAltura: "+lista.get(i).getAltura());
        }

utilizamos el índice i para recorrer la lista de jugadores.
Por lo tanto sí podemos acceder a los objetos de un ArrayList cuyos objetos se han agregado previamente de manera anónima, ya que el acceso a los objetos de un ArrayList se hace mediante las posiciones que ocupan dentro de él.

Sin importarnos cómo se agregaron los objetos dentro del ArrayList:

llamando al método lista.get(0) me devolverá el objeto tipo Jugador ubicado en la posición 0 del ArrayList

llamando al método lista.get(1) me devolverá el objeto tipo Jugador ubicado en la posición 1 del ArrayList

Conclusión: no perdamos de vista que los objetos dentro de un ArrayList ocupan una posición, y que mediante esa posición accedemos a ellos.
Título: Re:Java acceder a un objeto anónimo contenido en un ArrayList ejercicio CU00668B
Publicado por: Alex Rodríguez en 02 de Julio 2015, 20:43
Hola Ronal, en los foros escribir en mayúsculas se considera que equivale a gritar o remarcar algo importante. Por favor escribe el texto de los mensajes en minúsculas (excepto aquella parte que quieras remarcar o requiera de mayúsculas). Gracias!