Eliminacion de un campo en un indice determinado

Melba Cortes
03 de Marzo del 2006
Buenos Días,

Alguno, me podria hacer el favor de ayudarme a decir como puedo eliminar el contenido e indice de un determinado vector, al tiempo que se reduce el tamaño del vector

Diego
03 de Marzo del 2006
Si te refieres a la clase java.util.Vector<E>, utiliza el método public E remove(int index).
Si te refieres a un array, utiliza el siguiente método:

import java.lang.reflect.Array;

public static Object elimina(Object array,int posicion){
Object nuevoArray;
if(array==null||posicion<0||posicion>=Array.getLength(array))
nuevoArray=null;
else {
Class<?> tipoArray=array.getClass().getComponentType();
if(tipoArray==null)
nuevoArray=null
else{
int nuevoTamano=Array.getLength(array)-1;
nuevoArray=Array.newInstance(tipoArray,nuevoTamano);
System.arrayCopy(array,0,nuevoArray,0,posicion);
System.arrayCopy(array,posicion+1,nuevoArray,posicion,nuevoTamano-posicion);
}
}
return nuevoArray;
}

Este método, que no he probado, devuelve un Objeto al que hay que hacer un casting al tipo del array original. Se pueden usar genéricos para evitar el casting fuera del método, pero obligaría a hacer un método para cada tipo básico, que repitas el código o hagas un casting, es una cuestión a decidir por tu parte. Espero que te sirva.