Ola Loiane, muito obrigado por essa aula. Ao decorrer da aula notei uma incongruencia com o metodo adicionar (int posicao, T elemento), ele ao inves de inserir o elemento na posicao que desejamos, ele insere na posicao a seguir, o que nao vai de acordo com o comportamente da LinkedList do proprio java. Portanto proponho a seguinte solução: public void adicionar(int posicao , T elemento){ if(posicao == 0){ this.adicionaInicio(elemento); } else if(posicao == tamanho){ this.adicionar(elemento); } else{ No anterior = this.buscaNo(posicao - 1); No proximoNo = anterior.getProximo(); No novoNo = new No(elemento, proximoNo); anterior.setProximo(novoNo); } } A solucao resume-se em ao inves de buscar pelo no na posicao dada, buscar exactamente na anterior que seria posicao - 1.
Brabíssima! Que Deus te abençoe, por favor, continue com seus conteúdos. Muito eficaz sua explicação e didática, parabéns! Lembro que na faculdade foi sofrido aprender kkkkk (ainda mais usando ponteiros na mão com C)
Dica aos iniciantes: Num caso de código real e mais avançado, seria interessante refratorar os métodos para q façam bom uso do overload. O método adiciona só com o elemento sempre adiciona no final da lista, então ele poderia simplesmente chamar adiciona(this.tamanho + 1, elemento), etc. Assim apenas 1 método fica responsável pela real inserção e aplica as validações e regras necessárias. Refratorando apenas um pouco vc consegue aplicar bem o conceito de Single responsability, abstração e usar o overload disponibilizado pela linguagem
Esse seu curso é incrível! Por favor, não pare. Obrigado pelo conteúdo
Jesus seja louvado!!! Muito obrigado Loiane por voltar o curso!!!
Ola Loiane, muito obrigado por essa aula.
Ao decorrer da aula notei uma incongruencia com o metodo adicionar (int posicao, T elemento), ele ao inves de inserir o elemento na posicao que desejamos, ele insere na posicao a seguir, o que nao vai de acordo com o comportamente da LinkedList do proprio java. Portanto proponho a seguinte solução:
public void adicionar(int posicao , T elemento){
if(posicao == 0){
this.adicionaInicio(elemento);
}
else if(posicao == tamanho){
this.adicionar(elemento);
}
else{
No anterior = this.buscaNo(posicao - 1);
No proximoNo = anterior.getProximo();
No novoNo = new No(elemento, proximoNo);
anterior.setProximo(novoNo);
}
}
A solucao resume-se em ao inves de buscar pelo no na posicao dada, buscar exactamente na anterior que seria posicao - 1.
Melhor de todos....estrutura de dados faz parte do alfabeto na programação!! obrigado pelos ensinamentos sempre..!!!
Como sempre, ajudando a comunidade. Adorei o vídeo. Explicação bem detalhada. Muito obrigado.👏🏻👍🏻
Brabíssima! Que Deus te abençoe, por favor, continue com seus conteúdos. Muito eficaz sua explicação e didática, parabéns! Lembro que na faculdade foi sofrido aprender kkkkk (ainda mais usando ponteiros na mão com C)
Tu pra mim e a maior referência java no Brasil 🎉🎉🎉
Vlw pela aula prof
Dica aos iniciantes: Num caso de código real e mais avançado, seria interessante refratorar os métodos para q façam bom uso do overload. O método adiciona só com o elemento sempre adiciona no final da lista, então ele poderia simplesmente chamar adiciona(this.tamanho + 1, elemento), etc. Assim apenas 1 método fica responsável pela real inserção e aplica as validações e regras necessárias.
Refratorando apenas um pouco vc consegue aplicar bem o conceito de Single responsability, abstração e usar o overload disponibilizado pela linguagem
Curso incrível e essencial! Continuaaaa!
Quanta honra coloquei o primeiro like 🎉🎉🎉
Muito bom