Apagar espaços vazios num vector

BestKnight

Power Member
Boas,

estao a trabalhar num projecto para uma disciplina da faculdade e estou agora com um problema. Gostava de saber como é que se faz para apagar os espaços vazios que possam exitir num vector:

Por ex:

suponhamos que temos um vector da seguinte forma

Posição - Informação
0 ------------34
1
2 ------------35
3 ------------45
4 ------------23
5
6
7 ------------45


e queria que fica-se algo como isto

Posição - Informação
0 ------------34
1 ------------35
2 ------------45
3 ------------23
4 ------------45


o resultado que eu queria era apagar aqueles espaços vazios, mas n tou a ver como faço isso. Tou a fazer o projecto em Java com o NetBeans. Se alguém souber como ajudar, é que o projecto está quase todo feito, so faltam pequenos promenores como este, e eu queria q fica-se o mais "pimp" possivel!
 
A solução mais corriqueira seria percorrer o array do início ao fim, e sempre que encontres uma posição vazia, substituis pelo valor que encontrares a seguir. Vais contando o número de valores que encontras (N), e no fim crias um novo array que vai ter tamanho N, e colocas lá os valores.

Há muitas formas de fazer isto.
 
A solução mais corriqueira seria percorrer o array do início ao fim, e sempre que encontres uma posição vazia, substituis pelo valor que encontrares a seguir. Vais contando o número de valores que encontras (N), e no fim crias um novo array que vai ter tamanho N, e colocas lá os valores.

Há muitas formas de fazer isto.

Código:
for (int i=0;i<p.length;i++){
                if (i <= p.length){
                    if (p[i].isEmpty()){
                        p[i] = p [i+1];
                    }
                }
        }


o que acontece com isto é q fica duas vezes cada posição tipo

1
1
2
2
3
3
 
Back
Topo