Remover uma posição de um Array/Vetor

Boa tarde,

Senhores. tudo bem?

Vamos la.

Não sei se já foi feito uma pergunta referente a isto, mais gostaria de saber, estou criando um vetor do tipo String de tamanho 3. existe uma possibilidade de deletar uma posição do array/vetor? exemplo deletar a posição 2:
public class Topico {

public static void main(String[] args) {
	String vetor[] = new String[3];
	
	for(int a = 0; a < vetor.length; a++){
		vetor[a] = "a";
	}
	
	vetor[2].remove;

//agora o vetor tem tamanho 2;
}
}

Sei que um ArrayList pode cresce e diminuir conforme coloca dados ou remove dados. tipo uma lista telefonica que coloco contato ou deleto contato, mas gostaria de saber se há essa possibilidade também apenas com array/vetor;

Um vetor é imutável em seu tamanho!!!
Ou use uma coleção ou a única coisa q podes fazer com vetor é remover O VALOR daquela posição:
vetor[2] = null;
A posição continuará existindo.
Oq n tem mta utilidade.

1 curtida

Vejo que possivelmente está estudando Estrutura de Dados.

Bem, “diminuir” o tamanho do vetor não dá. Você pode copiar seu vetor num menor, removendo a posição que você quer. Mas de fato, o tamanho do vetor é definido e esse é o valor dele. Imutável. Você sempre pode, claro, apenas preencher o conteúdo da posição que você quer, transformando o último caractere em nulo. Por exemplo:

Você tem um vetor de 4 posições:
⠀__________
⠀| 0 | 1 | 2 | 3 |
⠀¯¯¯¯¯¯¯¯¯¯

Aí, você vai fazer o código para remover a segunda posição. Ele ficará assim:

⠀__________
⠀| 0 |⠀⠀| 2 | 3 |
⠀¯¯¯¯¯¯¯¯¯¯

Ou seja, o número 1 que ocupava a posição 2 agora é nulo. Você pode fazer:

⠀__________
⠀| 0 | 2 | 3 |⠀ |
⠀¯¯¯¯¯¯¯¯¯¯

Ou copiar num novo vetor:

⠀________
⠀| 0 | 2 | 3 |
⠀¯¯¯¯¯¯¯¯

1 curtida

Boa noite, senhores
Agradeço pela rapidez e exemplos dados para responde minha dúvida. :blush: