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

función remove en arrayList

Estas en el tema de función remove en arrayList en el foro de Java en Foros del Web. Hola tengo una duda con remove, si llamo a la función a.remove(i) en el array a, ¿estoy sacando el elemento del array para reordenarlo? es ...
  #1 (permalink)  
Antiguo 25/11/2014, 19:48
 
Fecha de Ingreso: octubre-2008
Mensajes: 184
Antigüedad: 16 años, 2 meses
Puntos: 1
función remove en arrayList

Hola tengo una duda con remove,
si llamo a la función a.remove(i) en el array a, ¿estoy sacando el elemento del array para reordenarlo? es decir, si dicha llamada perteneciera a la posición 3 de un array (sobre 5), elimina dicho elemento de la posición indicada y crearía un nuevo array con los elementos 1 2 4 5. ¿es correcto?.

¡Gracias!
  #2 (permalink)  
Antiguo 25/11/2014, 21:27
Avatar de eagle_knight  
Fecha de Ingreso: marzo-2013
Mensajes: 14
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: función remove en arrayList

Me parece que la posición 3 del array apunta a la dirección de memoria de la posición 5 como si fuera la 4 y libera el espacio en memoria de la posición 4 original.
  #3 (permalink)  
Antiguo 26/11/2014, 01:44
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 4 meses
Puntos: 182
Respuesta: función remove en arrayList

Buenas Olbapk,

Si, es correcto lo que comentas. Si eliminas el tercer elemento de una lista con valores 1 2 3 4 5 te quedara: 1 2 4 5 en posiciones consecutivas.

Basta con ver la implementacion en la clase ArrayList:
Código Java:
Ver original
  1. public E remove(int index) {
  2.         rangeCheck(index);
  3.  
  4.         modCount++;
  5.         E oldValue = elementData(index);
  6.  
  7.         int numMoved = size - index - 1;
  8.         if (numMoved > 0)
  9.             System.arraycopy(elementData, index+1, elementData, index,
  10.                              numMoved);
  11.         elementData[--size] = null; // clear to let GC do its work
  12.  
  13.         return oldValue;
  14.     }


Un saludo
__________________
If to err is human, then programmers are the most human of us
  #4 (permalink)  
Antiguo 02/12/2014, 21:40
 
Fecha de Ingreso: octubre-2008
Mensajes: 184
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: función remove en arrayList

¡Gracias a ambos por vuestra respuesta!

Etiquetas: arraylist, remove
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 23:45.