Autor Tema: Java acceder a un objeto anónimo contenido en un ArrayList ejercicio CU00668B  (Leído 3979 veces)

ronal.d87

  • Principiante
  • **
  • Mensajes: 72
    • Ver Perfil
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");
« Última modificación: 02 de Julio 2015, 20:43 por Alex Rodríguez »
Ronald Mosquera Mancilla

RaGa

  • Moderador Global
  • Intermedio
  • *******
  • APR2.COM
  • Mensajes: 234
    • Ver Perfil
Re:EJERCICIO CU00668B REALIZADO
« Respuesta #1 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.

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
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!

 

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