Desempenho do Java HashSet vs Array

Eu tenho uma coleção de objetos que são garantidos para ser distintos (em particular, indexados por um ID inteiro exclusivo). Eu também sei exatamente quantos deles existem (e o número não vai mudar), e fiquei me perguntando se o Array teria uma vantagem de desempenho notável em relação ao HashSet para armazenar / recuperar esses elementos.

No papel, o Array garante inserção de tempo constante (desde que eu saiba o tamanho antes do tempo) e recuperação, mas o código para HashSet parece muito mais limpo e adiciona alguma flexibilidade, então eu estou querendo saber se eu estou perdendo alguma coisa usando isso , pelo menos, teoricamente.

questionAnswers(5)

yourAnswerToTheQuestion