duda filosófica sobre ArrayList

01/04/2008 - 20:07 por Javito | Informe spam
En un manual de Microsoft localizo una practica que me pide generar un
método FindAttribute(object X) que me permita localizar si el Array
contiene un determinado objeto y si lo encuentra extraer su valor.

Esto me crea confusión por que si ya tengo inicialmente el objeto para
mandarselo al método y que este lo localice y lo devuelva todo esto es
redundante, tengo vaca1 y se lo mando al método para que me devuelva vaca1 y
obtener su nombre ¿ tiene algún sentido ? o se me escapa algo

un saludo

Preguntas similare

Leer las respuestas

#1 Guillermo guille
01/04/2008 - 23:22 | Informe spam
pues no lo hagas... total... si ya lo tienes, ¿para qué buscarlo? ;-))))

Por cierto, ¿qué manual es?

De todas formas, más bien supongo que es para ver si sabes qué métodos debes
usar.
Te en cuenta que muchos de los métodos de búsquedas de las colecciones hacen
eso mismo, buscar si el objeto que le indicas está en el array, y parece una
tontería, porque si ya lo tengo ¿para qué buscarlo? pero en realidad en ese
array puedes tener otras cosas que te pueden servir para asociarlas con el
elemento que encuentras, la verdad es que yo no suelo usar ese tipo de
búsqueda, ya que no me sirven para nada, al menos nada práctico, y lo que
suelo hacer es implementar algún otro tipo de búsqueda que examine la
colección en busca de alguna propiedad de ese objeto.

De todas formas OLVIDA EL TIPO ARRAYLIST (no estoy gritando, pero casi), ya
que es un tipo "atipado" que no trae nada beneficioso, en lugar de
ArrayList, usa List<T>, eso sí, debes tener .NET 2.0 o superior, en
versiones anteriores, no había nada mejor, pero supongo que ya casi nadie
usa nada anterior al Visual Studio 2005 / .NET 2.0.

Nos vemos
Guillermo

Microsoft MVP Visual Basic desde 1997
Tus consultas en los foros del Guille: http://foros.elguille.info/
Ya puedes comprar mi nuevo libro: http://www.elguille.info/NET/NovedadesVB9/


"Javito" wrote in message
news:eyT$
En un manual de Microsoft localizo una practica que me pide generar un
método FindAttribute(object X) que me permita localizar si el Array
contiene un determinado objeto y si lo encuentra extraer su valor.

Esto me crea confusión por que si ya tengo inicialmente el objeto para
mandarselo al método y que este lo localice y lo devuelva todo esto es
redundante, tengo vaca1 y se lo mando al método para que me devuelva vaca1
y obtener su nombre ¿ tiene algún sentido ? o se me escapa algo

un saludo

Respuesta Responder a este mensaje
#2 Javito
01/04/2008 - 23:41 | Informe spam
Si la cosa es que el ejemplo del libro hacía referencia a como crear el
método para que funcionara como seguro de tipos, es decir con genéricas y
sugería hacer la comprobación con:

public T comprobarArrayList <T> (T Dato) { //implementación }

y yo entiendo el proceso pero no se me ocurre para que sirve y además si el
objeto de tipo T no se encuentra en e ArrayList como devuelves un valor de
Tipo T ?

un saludo



"Guillermo 'guille'" escribió en el mensaje
news:
pues no lo hagas... total... si ya lo tienes, ¿para qué buscarlo? ;-))))

Por cierto, ¿qué manual es?

De todas formas, más bien supongo que es para ver si sabes qué métodos
debes usar.
Te en cuenta que muchos de los métodos de búsquedas de las colecciones
hacen eso mismo, buscar si el objeto que le indicas está en el array, y
parece una tontería, porque si ya lo tengo ¿para qué buscarlo? pero en
realidad en ese array puedes tener otras cosas que te pueden servir para
asociarlas con el elemento que encuentras, la verdad es que yo no suelo
usar ese tipo de búsqueda, ya que no me sirven para nada, al menos nada
práctico, y lo que suelo hacer es implementar algún otro tipo de búsqueda
que examine la colección en busca de alguna propiedad de ese objeto.

De todas formas OLVIDA EL TIPO ARRAYLIST (no estoy gritando, pero casi),
ya que es un tipo "atipado" que no trae nada beneficioso, en lugar de
ArrayList, usa List<T>, eso sí, debes tener .NET 2.0 o superior, en
versiones anteriores, no había nada mejor, pero supongo que ya casi nadie
usa nada anterior al Visual Studio 2005 / .NET 2.0.

Nos vemos
Guillermo

Microsoft MVP Visual Basic desde 1997
Tus consultas en los foros del Guille: http://foros.elguille.info/
Ya puedes comprar mi nuevo libro:
http://www.elguille.info/NET/NovedadesVB9/


"Javito" wrote in message
news:eyT$
En un manual de Microsoft localizo una practica que me pide generar un
método FindAttribute(object X) que me permita localizar si el Array
contiene un determinado objeto y si lo encuentra extraer su valor.

Esto me crea confusión por que si ya tengo inicialmente el objeto para
mandarselo al método y que este lo localice y lo devuelva todo esto es
redundante, tengo vaca1 y se lo mando al método para que me devuelva
vaca1 y obtener su nombre ¿ tiene algún sentido ? o se me escapa algo

un saludo




Respuesta Responder a este mensaje
#3 Guillermo guille
02/04/2008 - 14:21 | Informe spam
Hombre, ese ejemplo sería válido para cuando quieres comprobar si no está y
en ese caso, crear uno nuevo, lo añades al ArrayList y devuelves el nuevo
objeto creado, aunque de ser eso, yo pondría como condición que ese método
tuviera una restricción en el parámetro para que implemente un constructor.

Nos vemos
Guillermo

Microsoft MVP Visual Basic desde 1997
Tus consultas en los foros del Guille: http://foros.elguille.info/
Ya puedes comprar mi nuevo libro: http://www.elguille.info/NET/NovedadesVB9/


"Javito" wrote in message
news:
Si la cosa es que el ejemplo del libro hacía referencia a como crear el
método para que funcionara como seguro de tipos, es decir con genéricas y
sugería hacer la comprobación con:

public T comprobarArrayList <T> (T Dato) { //implementación }

y yo entiendo el proceso pero no se me ocurre para que sirve y además si
el objeto de tipo T no se encuentra en e ArrayList como devuelves un valor
de Tipo T ?

un saludo



"Guillermo 'guille'" escribió en el mensaje
news:
pues no lo hagas... total... si ya lo tienes, ¿para qué buscarlo? ;-))))

Por cierto, ¿qué manual es?

De todas formas, más bien supongo que es para ver si sabes qué métodos
debes usar.
Te en cuenta que muchos de los métodos de búsquedas de las colecciones
hacen eso mismo, buscar si el objeto que le indicas está en el array, y
parece una tontería, porque si ya lo tengo ¿para qué buscarlo? pero en
realidad en ese array puedes tener otras cosas que te pueden servir para
asociarlas con el elemento que encuentras, la verdad es que yo no suelo
usar ese tipo de búsqueda, ya que no me sirven para nada, al menos nada
práctico, y lo que suelo hacer es implementar algún otro tipo de búsqueda
que examine la colección en busca de alguna propiedad de ese objeto.

De todas formas OLVIDA EL TIPO ARRAYLIST (no estoy gritando, pero casi),
ya que es un tipo "atipado" que no trae nada beneficioso, en lugar de
ArrayList, usa List<T>, eso sí, debes tener .NET 2.0 o superior, en
versiones anteriores, no había nada mejor, pero supongo que ya casi nadie
usa nada anterior al Visual Studio 2005 / .NET 2.0.

Nos vemos
Guillermo

Microsoft MVP Visual Basic desde 1997
Tus consultas en los foros del Guille: http://foros.elguille.info/
Ya puedes comprar mi nuevo libro:
http://www.elguille.info/NET/NovedadesVB9/


"Javito" wrote in message
news:eyT$
En un manual de Microsoft localizo una practica que me pide generar un
método FindAttribute(object X) que me permita localizar si el Array
contiene un determinado objeto y si lo encuentra extraer su valor.

Esto me crea confusión por que si ya tengo inicialmente el objeto
para mandarselo al método y que este lo localice y lo devuelva todo esto
es redundante, tengo vaca1 y se lo mando al método para que me devuelva
vaca1 y obtener su nombre ¿ tiene algún sentido ? o se me escapa algo

un saludo








Respuesta Responder a este mensaje
#4 Javito
02/04/2008 - 19:27 | Informe spam
ya pero si ves el ejemplo no devuelve un bool sino un objeto de tipo T y el
problema es que pasa cuando no está el objeto como localizas un objeto T
para devolverlo dado que el método exige que devuelvas un T.

un saludo
"Guillermo 'guille'" escribió en el mensaje
news:
Hombre, ese ejemplo sería válido para cuando quieres comprobar si no está
y en ese caso, crear uno nuevo, lo añades al ArrayList y devuelves el
nuevo objeto creado, aunque de ser eso, yo pondría como condición que ese
método tuviera una restricción en el parámetro para que implemente un
constructor.

Nos vemos
Guillermo

Microsoft MVP Visual Basic desde 1997
Tus consultas en los foros del Guille: http://foros.elguille.info/
Ya puedes comprar mi nuevo libro:
http://www.elguille.info/NET/NovedadesVB9/


"Javito" wrote in message
news:
Si la cosa es que el ejemplo del libro hacía referencia a como crear el
método para que funcionara como seguro de tipos, es decir con genéricas y
sugería hacer la comprobación con:

public T comprobarArrayList <T> (T Dato) { //implementación }

y yo entiendo el proceso pero no se me ocurre para que sirve y además si
el objeto de tipo T no se encuentra en e ArrayList como devuelves un
valor de Tipo T ?

un saludo



"Guillermo 'guille'" escribió en el mensaje
news:
pues no lo hagas... total... si ya lo tienes, ¿para qué buscarlo? ;-))))

Por cierto, ¿qué manual es?

De todas formas, más bien supongo que es para ver si sabes qué métodos
debes usar.
Te en cuenta que muchos de los métodos de búsquedas de las colecciones
hacen eso mismo, buscar si el objeto que le indicas está en el array, y
parece una tontería, porque si ya lo tengo ¿para qué buscarlo? pero en
realidad en ese array puedes tener otras cosas que te pueden servir para
asociarlas con el elemento que encuentras, la verdad es que yo no suelo
usar ese tipo de búsqueda, ya que no me sirven para nada, al menos nada
práctico, y lo que suelo hacer es implementar algún otro tipo de
búsqueda que examine la colección en busca de alguna propiedad de ese
objeto.

De todas formas OLVIDA EL TIPO ARRAYLIST (no estoy gritando, pero casi),
ya que es un tipo "atipado" que no trae nada beneficioso, en lugar de
ArrayList, usa List<T>, eso sí, debes tener .NET 2.0 o superior, en
versiones anteriores, no había nada mejor, pero supongo que ya casi
nadie usa nada anterior al Visual Studio 2005 / .NET 2.0.

Nos vemos
Guillermo

Microsoft MVP Visual Basic desde 1997
Tus consultas en los foros del Guille: http://foros.elguille.info/
Ya puedes comprar mi nuevo libro:
http://www.elguille.info/NET/NovedadesVB9/


"Javito" wrote in message
news:eyT$
En un manual de Microsoft localizo una practica que me pide generar un
método FindAttribute(object X) que me permita localizar si el Array
contiene un determinado objeto y si lo encuentra extraer su valor.

Esto me crea confusión por que si ya tengo inicialmente el objeto
para mandarselo al método y que este lo localice y lo devuelva todo
esto es redundante, tengo vaca1 y se lo mando al método para que me
devuelva vaca1 y obtener su nombre ¿ tiene algún sentido ? o se me
escapa algo

un saludo











Respuesta Responder a este mensaje
#5 Jesús López
02/04/2008 - 20:09 | Informe spam
Pues en caso de no encontrarlo devuelves null y listo.

Saludos:

Jesús López
www.solidq.com
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida