Olá pessoal estou com uma duvida sobre listas estaticas, gostaria de saber porque o método
public void insert(E element, int pos)
//desloca para a direita os elementos necessários
//abrindo espaço para um novo elemento
for(int i = numElements -1;i>=pos;i–)
elements [i+1]=elements [i]
// gostaria de saber porque tem o i+1 dentro do array ??
Dúvida sobre listas estáticas java
1 Resposta
A resposta para essa pergunta está nas duas linhas em comentário acima do seu laço.
A cada iteração ele pega o elemento na posição atual ( i ) e coloca na próxima posição ( i + 1 ).
Como esse laço executa de trás pra frente (começa na última posição e vai vinda pra posição pos) ao final da iteração a posição pos receberá o elemento passado por parâmetro e todos os elementos nas posições maiores que pos estarão deslocados à direita.
Talvez se você reescrever assim, fica mais legível:
for (int i = numElements - 1; i >= pos; i--) {
int posicaoAtual = i;
int posicaoSeguinte = i + 1;
E elementoTrocandoDeLugar = elements[posicaoAtual];
elements[posicaoSeguinte] = elementoTrocandoDeLugar;
Criado 27 de junho de 2018
Ultima resposta 27 de jun. de 2018
Respostas 1
Participantes 2
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Apache Kafka e Spring Boot: Comunicacao assincrona entre... Por Eduardo Felipe Zambom Santana — Casa do Codigo