Foros del Web » Programación para mayores de 30 ;) » Java »

ayuda lista de objetos, como recuperar el objeto?

Estas en el tema de ayuda lista de objetos, como recuperar el objeto? en el foro de Java en Foros del Web. saludos amigos tengo una duda, que tal vez sea algo basico pero que me esta confundiendo en la programacion, estoy haciendo una lista de objetos ...
  #1 (permalink)  
Antiguo 03/02/2010, 17:40
Avatar de ciberedwuard2003  
Fecha de Ingreso: agosto-2009
Mensajes: 10
Antigüedad: 14 años, 8 meses
Puntos: 0
ayuda lista de objetos, como recuperar el objeto?

saludos amigos tengo una duda, que tal vez sea algo basico pero que me esta confundiendo en la programacion, estoy haciendo una lista de objetos declarados en una clase aparte, el problema es que estoy usando una sintaxis para recuperar el objeto en cuestion pero el compilador netbeans me dice que espera el objeto y me eso creo que es lo que estoy haciendo y por eso tengo la duda, aca expongo el codigo:

//(Datos.java)-------------
public class Datos {

private int cedula;
private String nombre;
private String apellido;

//con sus metodos get y set...

}//fin clase



//(alumnos.java)-------------------------
public class alumnos {

//constructor
public alumnos() { }

//retorna listado de alumnos
public List getAlumnos()
{
//aqui lo que hace....
}

}//fin clase



//pagina index -----------------

//crea un objeto de la clase alumnos
alumnos alums = new alumnos();

//crea un arraylist para el objeto alumnos
List lista_alumnos = alums.getAlumnos();

//guarda el tamaño del arraylist, ej: lista=5 items
int size_lista_alumnos = lista_alumnos.size();

//cuenta todos los items
for(int i=0; i< size_lista_alumnos; i++){


AQUI ESTA EL PROBLEMA, EN ESTA LINEA:

(linea A) Datos item_dato = lista_alumnos.get(i);

diganme que esta mal, xq yo estoy asignando a "item_dato" el objeto recuperado en "lista_alumnos.get(i)"


he encontrado otro metodo que aparentemente si funciona:

(linea B) Datos item_dato = (Datos) lista_alumnos.get(i);


ahora mi pregunta es: que diferencia hay entre linea A y linea B, agradezco su ayuda por favor.....

}
  #2 (permalink)  
Antiguo 03/02/2010, 19:25
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 15 años, 11 meses
Puntos: 5
Respuesta: ayuda lista de objetos, como recuperar el objeto?

Y que es lo que hace este metodo

public List getAlumnos()
{
//aqui lo que hace....
}


alli es donde esta el problema, tendrias que regresar una Lista de clases de tipo Datos algo asi List<Datos> para que cuando llegue a la ultima capa o sea aqui

Datos item_dato = (Datos) lista_alumnos.get(i);

no te pida el cast explicito
  #3 (permalink)  
Antiguo 03/02/2010, 19:49
Avatar de ciberedwuard2003  
Fecha de Ingreso: agosto-2009
Mensajes: 10
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: ayuda lista de objetos, como recuperar el objeto?

Saludos gracias por tu respuesta, hice los cambios y ahora si me funciona, aca el codigo

public List<Datos> getAlumnos(){

List<Datos> lista_datos = null;

try{
org.hibernate.Transaction tx = sesion.beginTransaction();
Query sql = sesion.createQuery("from Datos");
lista_datos = (List<Datos>) sql.list();
}
catch(Exception ex){
ex.printStackTrace();
}

//devuelve el arrayList
return lista_datos;
}



//en index.jsp

//crea un objeto de la clase alumnos
alumnos alums = new alumnos();

//crea un arraylist para el objeto alumnos
List<Datos> lista_alumnos = alums.getDatosAlumnos();

//guarda el tamaño (indexcount) del arraylist, ej: lista=5 items
int size_lista_alumnos = lista_alumnos.size();

//imprime los datos
<table>
<%
//cuenta todos los items
for(int i=0; i< size_lista_alumnos; i++){

Datos item_dato = new Datos();
item_dato = lista_alumnos.get(i);
%>
<!--datos-->
<tr>
<td><%=Integer.toString( item_dato.getCedula() ) %></td>
<td><%=item_dato.getNombre() %></td>
<td><%=item_dato.getApellido() %></td>
</tr>
<%
}//fin bucle FOR
%>
</table>


Gracias por tu respuesta drac94 con tu aclaracion me percate del detalle, ahora una pregunta adicional:

1. en java las lista de tipo de datos u objetos se manejarian asi???

List<Class> mi_clase;
List<Object> mi_objeto;
List<String> mi_texto;
List<Integer> mi_integer;
etc...

2. para agregar, quitar, y recorrer deberia usar metodos asi???

//agregar
lista.add(object);

//quitar
lista.remove(object);

//recorrer
for(int i=0; i< lista.size(); i++){
}


y por otro lado si quisiera manejar con Arreglos (Array) los objetos y/o datos como haria? o bien como podria pasar una lista de objetos a un arreglo x ejemplo de 1 dimension.

Gracias
  #4 (permalink)  
Antiguo 03/02/2010, 20:07
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 15 años, 11 meses
Puntos: 5
Respuesta: ayuda lista de objetos, como recuperar el objeto?

Para agregar y quitar esos son los metodos recomendados, para recorrerlo yo mejor utilizaria un for-each, es mas sencillo

for(Tipo o: Lista)
{
}


si quieres manejar un Array es similar a la Lista, la diferncia entre estos es que la lista es ordenada
si quieres pasar una lista a un Array usa el método toArray()
Saludos

Etiquetas: lista, objeto, objetos, recuperar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:28.