Modificar objetos de una lista o pila
Saludos
Pretendo hacer una lista o pila de objetos del tipo MiClase, y tras contener muchos objetos voy a necesitar modificar reiteradas veces el valor de alguno de los campos de algunos de os objetos MiClase que habrá dentro de esa pila o lista.
¿Hay alguna forma para hacer esto mejor que sacar el elemento, borrarlo e introducir un nuevo elemento con los valores actualizados? ¿Es esta la única forma de hacerlo?
Tenía pensado hacerlo con Hashtable pero con tantas modificaciones como voy a tener que hacerle a la lista o pila de objetos no sé si va a ser muy poco eficiente. ¿Exite alguna forma de modificar los elementos dentro de la lista? ¿Se puede acceder a ellos dentro de la lista?
Muchas gracias por la atención :)
Pretendo hacer una lista o pila de objetos del tipo MiClase, y tras contener muchos objetos voy a necesitar modificar reiteradas veces el valor de alguno de los campos de algunos de os objetos MiClase que habrá dentro de esa pila o lista.
¿Hay alguna forma para hacer esto mejor que sacar el elemento, borrarlo e introducir un nuevo elemento con los valores actualizados? ¿Es esta la única forma de hacerlo?
Tenía pensado hacerlo con Hashtable pero con tantas modificaciones como voy a tener que hacerle a la lista o pila de objetos no sé si va a ser muy poco eficiente. ¿Exite alguna forma de modificar los elementos dentro de la lista? ¿Se puede acceder a ellos dentro de la lista?
Muchas gracias por la atención :)
Hola:
La búsqueda, si no implementas un método alternativo, no te la quita nadie.
No hace falta borrar el elemento y añadirlo nuevo. Una vez extraido el elemento de la lista, basta cambiarle sus campos
MiClase elemento =(MiClase) lista.get (...);
elemento.setValor (nuevoValor);
En java, al ser todo por referencia, aunque saques elemento de la lista, sigue estando en ella y lo que cambies desde fuera, afecta al que hay dentro.
Se bueno.
La búsqueda, si no implementas un método alternativo, no te la quita nadie.
No hace falta borrar el elemento y añadirlo nuevo. Una vez extraido el elemento de la lista, basta cambiarle sus campos
MiClase elemento =(MiClase) lista.get (...);
elemento.setValor (nuevoValor);
En java, al ser todo por referencia, aunque saques elemento de la lista, sigue estando en ella y lo que cambies desde fuera, afecta al que hay dentro.
Se bueno.