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.
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: