Título: remove no funciona Publicado por: Ruusa en 17 Marzo 2021, 00:33 am Hola buenas noches. Tengo un problema para eliminar elementos de un arraylist.
Cuando llamo al metodo remove no funciona. No borra el elemento deseado. Código
Si alguien me puede ayudar se lo agradeceria MOD: Etiqueta GeSHi Título: Re: remove no funciona Publicado por: K-YreX en 18 Marzo 2021, 07:10 am Supongo que <cartasEnMano> es un ArrayList<> de algún tipo de objeto que has creado tú, no?
Cuando se utiliza ArrayList.remove(Object o), se elimina el objeto i del array que cumpla Objects.equals(o, array.get(i)). En resumen, necesitas sobreescribir el método equals() para determinar cuándo dos objetos son iguales ya que si no lo haces sólo serán iguales cuando sean el mismo objeto (misma dirección de memoria). Otra solución más sencilla si ya tienes el índice es usar ArrayList.remove(int index). Código Además de más sencillo, es más seguro pues te aseguras de tirar exactamente la misma y no otra que sea igual a esa. PD: Utiliza las etiquetas de Código GeSHi para el código ya sea abriendo el desplegable que se llama "Código GeSHi" y eligiendo Java o escribiendo directamente: [code=java] Tu código Java aquí [/code] Título: Re: remove no funciona Publicado por: rub'n en 18 Marzo 2021, 13:32 pm Ah @Ruusa se le habla un par de veces sobre el GeSHI
(https://3.bp.blogspot.com/-O6qDroNEzts/W8sWHPnV3MI/AAAAAAAADJw/mypp_PTYxbA_uKr7E-O-x0epDjSUdk3mwCK4BGAYYCw/s1600/geshi.gif) Título: Re: remove no funciona Publicado por: Ruusa en 19 Marzo 2021, 23:16 pm Supongo que <cartasEnMano> es un ArrayList<> de algún tipo de objeto que has creado tú, no? Cuando se utiliza ArrayList.remove(Object o), se elimina el objeto i del array que cumpla Objects.equals(o, array.get(i)). En resumen, necesitas sobreescribir el método equals() para determinar cuándo dos objetos son iguales ya que si no lo haces sólo serán iguales cuando sean el mismo objeto (misma dirección de memoria). Otra solución más sencilla si ya tienes el índice es usar ArrayList.remove(int index). Código Además de más sencillo, es más seguro pues te aseguras de tirar exactamente la misma y no otra que sea igual a esa. PD: Utiliza las etiquetas de Código GeSHi para el código ya sea abriendo el desplegable que se llama "Código GeSHi" y eligiendo Java o escribiendo directamente: [code=java] Tu código Java aquí [/code] Hola muchas gracias. Intente eso y sigue sin funcionar. Nose que esta pasando. no me anda ningun metodo del arraylist cuando lo llamo dentro de ese metodo. Es muy raro |