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

Arrays

Estas en el tema de Arrays en el foro de Java en Foros del Web. Buenas, hace poco tuve una duda sobre la eliminación de una posición en un array, y fue resuelta aqui en el foro ( http://www.forosdelweb.com/f45/array...icion-1134160/ ). ...
  #1 (permalink)  
Antiguo 11/08/2015, 17:14
 
Fecha de Ingreso: noviembre-2009
Mensajes: 90
Antigüedad: 14 años, 5 meses
Puntos: 0
Arrays

Buenas, hace poco tuve una duda sobre la eliminación de una posición en un array, y fue resuelta aqui en el foro (http://www.forosdelweb.com/f45/array...icion-1134160/).

Pero hacendo pruebas veo que al llegar a la ultima posicion da error xq al igualar la ultima posicion a null, me guarda null como string no como valor. Ejemplo:

Código:
String[] valores = {"uno", "dos", "tres"};
int i = 0;
        for (; i < array.length - 1; i++) {
            array[i] = array[i + 1];
        }
        array[i] = null;
Lo que me queda es String[] valores = {"dos", "tres", "null"};
  #2 (permalink)  
Antiguo 12/08/2015, 01:02
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Arrays

Buenas,

No es asi. Lo que te queda es:

Código Java:
Ver original
  1. {"uno", "dos", null}

Los arrays con estaticos, ya que reservan la memoria durante su creacion y esta no se puede modificar. Si lo que quieres es que el array cambie tambien de tamanio a cada modificacion, entonces tienes que hacer una copia des este y copiar todos los valores excepto el null.

Código Java:
Ver original
  1. String[] valoresFinal = new String[valores.length - 1];
  2. for (int j = 0; j<valoresFinal.length;j++) {
  3.     valoresFinal[j] = valores[j]
  4. }

O mas sencillo aun:

Código Java:
Ver original
  1. String[] valoresFinal = new String[valores.length - 1];
  2. System.arrayCopy(valores, 0, valoresFinal, 0, valores.length - 1);

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 12/08/2015, 01:05
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Arrays

No entiendo lo que quieres hacer, pero null es no valor y los arrays son estáticos, es decir, tienen el tamaño que le has dicho que tengan independientemente de si sus elementos tienen valor o no.

Si lo que quieres es que el array tenga sólo elementos no nulos, array no es lo que necesitas deberías usar un array dinámico.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: arrays, string, valor
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 14:58.