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

Como ordenar un vector

Estas en el tema de Como ordenar un vector en el foro de Java en Foros del Web. Amigos tengo el siguiente problema tengo un vector con N datos los cuales los iba ingresando de esta forma. public boolean almacenaDato(short numeroOcurrencia, short codigoDetalle, ...
  #1 (permalink)  
Antiguo 10/09/2007, 16:41
 
Fecha de Ingreso: septiembre-2007
Mensajes: 27
Antigüedad: 16 años, 8 meses
Puntos: 0
Como ordenar un vector

Amigos tengo el siguiente problema tengo un vector con N datos los cuales los iba ingresando de esta forma.

public boolean almacenaDato(short numeroOcurrencia, short codigoDetalle, String dato)
{

listado.addElement (new mantenedorGenerico ((short) numeroOcurrencia, (short)codigoDetalle, (String)dato));

return true ;
}

El problema que el numero de ocurrencia es un correlativo por lo cual cuando elimino un dato del vector.

public boolean eliminaDato(int idx)
{
listado.removeElementAt(idx);

return true ;
}

El campo numeroOcurrencia me queda saltado no como un correlativo, como puedo hacer para ordenarlo?
  #2 (permalink)  
Antiguo 11/09/2007, 07:25
 
Fecha de Ingreso: septiembre-2007
Mensajes: 24
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Como ordenar un vector

una idea
podrías crear oto vector,
leer el vector1, y preguntando por el siguiente en el momento que no lo sea
modificas el nro correlativo,
y vas guardando en el vector2
  #3 (permalink)  
Antiguo 11/09/2007, 14:46
 
Fecha de Ingreso: septiembre-2007
Mensajes: 27
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Como ordenar un vector

Gracias por la respuesta pero lo solucione de otra forma voy a colocar el codigo por si alguien aguna vez le pasa esto y pueda solucionarlos.

public boolean almacenaSolicitud(int campos, int codigoMantenedor, int usuarioSolicitud)
{
clsFunciones.ToLog("===>almacenaSolicitud");

mantenedorGenerico mant;
int ocurrencia=0;
int contador=0;
int cant_campos=0;

cant_campos = campos;

LinkRequest req = new LinkRequest() ;

req.setField("HRM_CODIGO_MANTENEDOR", Integer.toString(codigoMantenedor)) ;
req.setField("HRM_IDENTIFICADOR_USUARIO", Integer.toString(usuarioSolicitud)) ;

for (int i=0; i< (listado.size()/cant_campos); i++)
{
ocurrencia = ocurrencia + 1;

for (int j=0; j<cant_campos; j++)
{
mant = getmantenedorGenerico(contador) ;

mant.numeroOcurrencia = Short.parseShort(String.valueOf(ocurrencia));

req.setField("HRM_NUMERO_OCURRENCIA", contador, Short.toString(mant.numeroOcurrencia));
req.setField("HRM_CODIGO_DETALLE", contador, Short.toString(mant.codigoDetalle) );
req.setField("HRM_DATO", contador, mant.dato);

contador = contador + 1;
}
}
clsFunciones.ToLog("===>HrmMAlmacenaSol");

LinkResponse resp = link.SendReceiveSinc("HrmMAlmacenaSol", req);

if (link.getError().getLayer() != 0)
return false ;

this.correlativoSolicitud = ((Integer)resp.getField("HRM_CORRELATIVO_SOL")).in tValue() ;

return true ;
}

Le pase un parametro por la pagina que contenia el numero de campos que tiene mi objeto y luego hice 2 ciclos for para que me quedara la ocurrencia en forma de correlativo dependiendo la cantidad de campos onda si eran 2 campos eran 2 unos y si habian mas objetos eran 2 dos y asi sucesivamente.

Salu2
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 01:05.