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