Ir para o conteúdo
malucodojava

Remover elemento do array

Mensagens Recomendadas

malucodojava

Boa tarde pessoal, eu ate me sinto mal em ter esta duvida mas estou com dificuldades em acertar com o algoritmo de remover de um array.

por exemplo se eu tiver o array = [1,2,3] e quiser ficar com array = [1,3] ; nao estou mesmo a conseguir ja pensei em fazer array[*i] = array[i+1] mas nao resulta pois fica do tipo array[1,3,3] alguem me pode ajudar?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
lesiano16

>Adicionas elemento a elemento do array para um arrayList exceptuando o que queres eliminar.

> Convertes a lista para array utilizando o ".toArray()";

> Igualas o array ao resultado da conversão.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
lesiano16

>Adicionas elemento a elemento do array para outro array exceptuando o que queres eliminar.

> Igualas o array antigo ao novo array.

Podes até usar o System.arraycopy

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
malucodojava

isso seria:

private int[] a;
public void remove(int numero){
for(int i = 0; i != a.lenght; i++){
         if(a[i] == numero){
                 a[i]=a[i+1];
}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
lesiano16

Tu queres fazer a partir do momento que a == numero e não apenas para este.

Como o que tu fizeste se tiveres [1,2,3,4] e removeres 3 daria [1,2,4,4]

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
KTachyon

Contas o número de casas que vais remover, crias um novo array com a.length - num_de_casas_a_remover e copias os números que não são para remover para lá.

private int[] a;
public void remove(int numero){
for(int i = 0; i != a.lenght; i++){
         if(a[i] == numero){
                 a[i]=a[i+1];
}

E se tiveres que remover dois números iguais do array?


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.