1
resposta

List<> X tree/hashmap -> qual dos dois e mais apropriado?

Ola,

Quais seriam as vantagens e desvantagens entre essas duas opcoes? Considerando performance, tempo de leitura, clareza do codigo.

Eu sei que a resposta depende do contexto de utilizacao, mas usar um ao inves do outro pode tornar o codigo "ruim"?

Contexto: Criar uma arvore com os membros da familia e:

  • possibilitar a inclusao d filhos
  • consulta de relacionamentos entre as pessoas. Dado um nome e um tipo de relacionamento (Mae, irmaos, cunhados...) retornar as pessoas correspondentes na ordem que foram inseridas.

Eu utilizei List, entre os motivos para manter a ordem das pessoas de acordo com a insercao. Utilizei maps e filters para pesquisar as relacoes. Recebi um feedback que eu deveria usar tree/hasmap ao inves de lista para ter uma solucao mais limpa e elegante.

Gostaria de ouvir a opniao de outras pessoas. O entendimento que tenho no momento com base no que pesquisei nao me convenceu que nesse caso o hash e uma opcao de fato que faca diferenca em relacao ao list.

Valeu!!

1 resposta

Fala Kennedy, tudo bem ?

Cara vai depender bastante do contexto, como você disse.

Acho que talvez o feedback que te falaram foi algo do genero:

  • a pessoa a tem o filho a1, a2 e a3
  • a pessoa b tem o filho b1, b2 e b3

Talvez fizesse sentido guardar dentro de um HashMap<String, List>

Onde a chave é a pessoa e a lista são os filhos.

Embora não saiba de fato o problema que tu precisava resolver, parece que ambas formas resolvem o problema.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software