Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Existe benefício com Set sem implementar equals e hashCode?

Existe benefício de performance ao percorrer uma coleção com o foreach do Set sem implementar equals e hashCode? Sabendo que não vou usar o contains ou outra comparação que use o equals, apenas quero percorrer a lista para executar algo, ainda assim tenho algum benefício em relação a rapidez de acesso comparado à List?

1 resposta
solução!

Olá Charline, tudo bem ?

Nesses casos a gente pode pensar numa coisa chamada Complexidade Assintóticaque nada mais é do que pensar em quantas operações vamos gastar para realizar o que queremos, normalmente chegamos a uma função matemática, mas irei simplificar para você :)

Neste caso de percorrer, tanto utilizando Hashset ou ArrayList teremos uma performance muito parecida porque em ambos os casos teremos que percorrer a lista toda, é o chamado de O( n) em Análise de Algortimos, então não haverá ganhos reais em preferenciar uma ou outra estrutura, acredito que você pode trabalhar tranquilamente com um Arraylist, dado que elementos repetidos não serão um problema :)

Devemos ponderar em utilizar um Set justamente quando estamos querendo que não haja elementos repetidos, ou, encontrar elementos rapidamente, utilizar sem fazer essas implementações normalmente vai indicar que você quer um array e não um conjunto :)

Então o resumo é que vá de Arraylist se você pretende apenas adicionar e percorrer :)

Abraços e Bons Estudos!