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

Devolver valores Arraylist

Estas en el tema de Devolver valores Arraylist en el foro de .NET en Foros del Web. buenas, Tengo un funcion donde guardo las "propiedades" de una clase creada por mi, y esto lo guardo en un arraylist, entonces como hago para ...
  #1 (permalink)  
Antiguo 19/08/2005, 03:44
 
Fecha de Ingreso: diciembre-2003
Mensajes: 288
Antigüedad: 20 años, 4 meses
Puntos: 0
Devolver valores Arraylist

buenas,

Tengo un funcion donde guardo las "propiedades" de una clase creada por mi, y esto lo guardo en un arraylist, entonces como hago para que dsd el arraylist pueda coger el contenido guardado?¿

Ejemplo

public class Alumnos{

private String Dni;
private String Nombre;
.
.
.

Luego tengo los metodos y funciones de la clase
}

Y en un funcion llamada search donde yo me conecto a la BD y leo los campos de la tabla despues de hacer un select hago:

Arraylist A=new Arraylist();
Alumnos al=new Alumnos();
While(sqlread.Read()){

al.PrDni=sqlread.getString(0)//Pr es una funcion dnd tengo el get y set

Y asi con todas

A.Add(al)//meto un Alumno al array list

}

Pues bien ahora como puedo recuperar esos valores?¿

GRACIAS
  #2 (permalink)  
Antiguo 20/08/2005, 20:20
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Puedes recuperalos con un cast..

ejemplo:

Cita:
Arraylist A=new Arraylist();
....
//guardo la información de mis alumnos en el arraylist
...
...

string dni = ((Alumnos) A[0]).Dni; //pido la posición de mi arraylist
...
//declaro las demas variables
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 22/08/2005, 00:02
 
Fecha de Ingreso: diciembre-2003
Mensajes: 288
Antigüedad: 20 años, 4 meses
Puntos: 0
Rootk eres una machine, muchisimas gracias, y perdona por no haber dicho nada antes, es que los fines de semana no estaba en casa, de nuevo gracias, pero para variar me surge un pregunta.

Cuando yo hago ArrayList.Add, se supone q voy añadiendo valores al final del array, pues bien cuando hago esa funcion en teoria me añade 2 Alumnos(con todas sus propiedades) pero a la hora de recuperar hago:

ArrayList m1=new ArrayList();
int n;
int i=0;

while (i<m1.Count)
{
n=((Alumnos) m1[i]).PrDni;
i++;
}

Y solo me devuelve el último valor introducido es decir si añado dos dni's por ejemplo 11111111-F y 222222222-S solo veo este último, pq es?¿ ya que la propiedad count me da como resultado 2(o sea dos registros) y he mirado si alguna propiedad te "pone" el arraylist al primer registro y no la veo, alguna sugerencia "magica" de las tuyas pleaseeee :)

GRACIAS

Última edición por kakarot; 22/08/2005 a las 04:40
  #4 (permalink)  
Antiguo 22/08/2005, 08:46
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Por lo regular se maneja un ciclo for en vez de un while...

Te podría quedar mejor tu code así:

Cita:
for (int i = 0;i<m1.Count;i++)
{
n=((Alumnos) m1[i]).PrDni;
}
Checalo y nos cuentas que tal ..
  #5 (permalink)  
Antiguo 22/08/2005, 13:27
 
Fecha de Ingreso: diciembre-2003
Mensajes: 288
Antigüedad: 20 años, 4 meses
Puntos: 0
Ya, pero no haria lo mismo?¿, ya que tanto el for como el while al hacer m1[i], en la primera iteración es como decir m[0], y el tio me devuelve el valor de m[1](o sea el último), aún no lo he probado ya q hasta mñn no podre y con el desfase horario de españa-mexico te lo comento ahora por si se te ocurre algo mas

Gracias
  #6 (permalink)  
Antiguo 22/08/2005, 16:22
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Es obvio que te devuelva el último, porque con el código que muestras, n siempre tomará el último valor de la iteración..., mejor cuéntanos qué es lo que quieres hacer.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #7 (permalink)  
Antiguo 23/08/2005, 00:02
 
Fecha de Ingreso: diciembre-2003
Mensajes: 288
Antigüedad: 20 años, 4 meses
Puntos: 0
La idea es la siguiente, en un arraylist guardo la clase "Alumnos", pues bien en concreto guardo dos registros segun la consulta(hasta aqui perfecto), y me gustaria mostrar todo el contenido de los dos registros guardados en el arraylist, o sea que si yo hago:


m1=m.search("IdTipo=0");//consulta que devuelve un arraylist de dos valores
for (int i = 0;i<m1.Count;i++)
{
n=((Alumnos) m1[i]).PrDni;
} //con este bucle intento que muestre en la primera iteracion
n=11111111-F y en la 2ª n=22222222-S, pero en las dos solo muestra: n=22222222-S
Simplemente, por cierto xknown pq dices que es obvio que con el codigo ese 'n' solo muestre el último registro?¿

Última edición por kakarot; 23/08/2005 a las 00:10
  #8 (permalink)  
Antiguo 24/08/2005, 00:00
 
Fecha de Ingreso: diciembre-2003
Mensajes: 288
Antigüedad: 20 años, 4 meses
Puntos: 0
Buenas, yo sigo con lo mio, esto ya es personal :), existe alguna propiedad aparte del Add para añadir?¿, pq para mi que con el add "machaca" el resultado anterior aunque el count me sigue dando dos registros, ya que he probado hacer:

m1=u.Search("Password='holita'");
PrintIndexAndValues( m1,m1 );

public static void PrintIndexAndValues( IEnumerable myList,ArrayList m2 ) {
int i = 0;
System.Collections.IEnumerator myEnumerator = myList.GetEnumerator();
while ( myEnumerator.MoveNext() ){
Console.WriteLine( "\t[{0}]:\t{1}", i++, ((Usuario)m2[i]).PrDniUsuario );
Console.WriteLine();
}

Y en la posicion 0 me sale el dni del segundo registro y en la 1 dice q se va fuera de rango, y la propiedad count marca 2, no lo entiendo...

Última edición por kakarot; 24/08/2005 a las 04:50
  #9 (permalink)  
Antiguo 25/08/2005, 05:34
 
Fecha de Ingreso: diciembre-2003
Mensajes: 288
Antigüedad: 20 años, 4 meses
Puntos: 0
Pues ya lo he solucionado gracias a todos
  #10 (permalink)  
Antiguo 25/08/2005, 08:32
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
Pues ya lo he solucionado gracias a todos
Y como quedó o que fue lo que tenías como error..??
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #11 (permalink)  
Antiguo 13/05/2010, 08:05
 
Fecha de Ingreso: mayo-2010
Mensajes: 2
Antigüedad: 14 años
Puntos: 0
Respuesta: Devolver valores Arraylist

Cita:
Iniciado por RootK Ver Mensaje
Y como quedó o que fue lo que tenías como error..??
  #12 (permalink)  
Antiguo 13/05/2010, 08:09
 
Fecha de Ingreso: mayo-2010
Mensajes: 2
Antigüedad: 14 años
Puntos: 0
Respuesta: Devolver valores Arraylist

quisiera saber tengo un arreglo
String[] despacho=request.getParameterValues("lista") esta lista proviene de un BeanFactura

if (despacho.length!=0){
for (int i = 0; i < alumnos.length; i++) {
System.out.println(despacho[i].toString());
BeanSDespacho beanma=new BeanSDespacho ();
beanma.setNlin(alumnos[i].toString());
beanma.setCitm() --> kiero recuperar el codigo del producto
beanma.setCogrado(forma.getCogrado());
beanma.setCoseccion(forma.getCoseccion());
matricula.registraMatricu(beanma);
}
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 04:34.