Arrays

3 respostas
E

[color=red]Pessoal, HELP!!![/color]

Meu profº de estrutura de dados passou uma tarefa.
Dizia assim:

Crie uma array de 5 posições.
Atribua -ordenadamente de 0 a 4 (5 posições) - 10, 20, 30, 40, 50.
Depois remova o valor 30, deixando a array da seguinte maneira:
10, 20, 40, 50. - Com 4 posições.

Consegui tirar o 30 e jogar os valores seguintes um posição antes.
Mas não consigo tirar o último valor da matriz.
Na minha cabeça não tem como, mas ele pediu, portanto, há jeito.

Ex.:

System.out.println("Removendo 30");
        for(int contador = posicao; contador < arr.length; contador++) {//Varre a array.
            if(contador == arr.length - 1) {//condição para quando estiver na última posição da matriz.
                //Como atribuir null para o último índice da array de inteiros;//Ação que atribui null para o último índice da matriz.
            } else {
                arr[contador] = arr[contador + 1];//Posição da array recebe a posição posterior.
            }
        }

Agradeço todos os amigos do conhecimento antecipadamente.

3 Respostas

viniciusalvess

Vai te ajudar !

http://stackoverflow.com/questions/642897/removing-an-element-from-an-array-java

E

Nobre colega viniciusalvess, muito grato por sua resposta.

Entendi que com vetor de Java simples é impossível remover índices da matriz.
Bom, mas só para completar sua resposta, existe alguma fonte confiável que
demonstra que não dá para fazer a remoção de índices de vetores simples em JAVA?

Grato por sua paciência e compreenssão.

Desde já agradeço por respostas!!!

ViniGodoy

Não é possível alterar o tamanho de arrays. Você tem algumas alternativas para isso:

  1. Controlar você mesmo o tamanho do array (isto é, colocar uma outra variável que controle o tamanho lógico, isto é, que indica quantos elementos do seu array estão efetivamente preenchidos);
  2. Copiar os dados desse array para outro array menor.

Quanto à fonte confiável, própria especificação oficial da linguagem Java:
http://java.sun.com/docs/books/jls/third_edition/html/arrays.html#10.3

Onde diz (o grifo é meu):

Ali ele diz que o tamanho do array é final, ou seja, imodificável.

Criado 27 de fevereiro de 2011
Ultima resposta 28 de fev. de 2011
Respostas 3
Participantes 3