Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: francina en 09 de Febrero 2014, 13:09
-
Buenos días a todos,
estoy aprendiendo a usar (creo) los arraylist, pero mi problema es que si mi ARRAYLIST es de objetos, cómo puedo modificar sólo uno de los 'set' del objeto???
Por ejemplo,
tengo el objeto PERSONA y varios de sus metodos es setnombre,setdni,setdireccion... Ya los tengo introducidos por ejemplo en la posicion 0 de mi arraylist, pero ahora quiero modificar el DNI. Como lo puedo hacer?
he intentado poner: arraylist.set(0,Persona); Pero esto realmente no sé qué hace??? Pone en una posición una persona, pero si yo ya las he inicializado en otro momento esta orden no me sirve para lo que quiero hacer,verdad? Yo querría acceder al metodo setnombre del objeto Persona que está en la posición 0 y no cambiarle ningún dato más de los que puse cuando se inicializó esta posición.
os agradecería cualquier aportación.
Mil gracias y a seguir aprendiendo!
Francina
-
Hola francina, lo primero que tienes que hacer es recuperar el objeto, y a continuación aplicarle el método o métodos que quieras. Con el ejemplo que pones, supongamos que el arrayList se llama listaDePersonas.
Lo primero es recuperar el objeto Persona que está en posición 0 del arrayList, para eso tienes que usar el método get de arrayList: escribiríamos listaDePersonas.get(0), con esto ya tienes recuperado el objeto.
Ahora a ese objeto le aplicas el método que quieras, por ejemplo si quieres modificar el dni del objeto persona que está en la posición 0 escribes:
listaDePersonas.get(0).setdni("44234567")
Para invocar el método setdni tendrás que pasarle un parámetro que es el nuevo dni, si el dni es un String tendrás que escribirlo entre comillas, si es un número sin comillas.
Para aclarar los conceptos y ver ejemplos de uso puedes usar este curso: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188
Saludos...