Duvida ArrayList X HashSet

Folks,

porque usar ArrayList ou HashSet …quais as vantagens e desvantagens ???

POis vi alguns exemplos com Hibernate usando HasSet e queria saber por que ???

se alguém puder me ajudar …abs

A diferença básica é que o ArrayList usa um índice numérico, iniciado em 0. O HashSet usa um índice de um tipo de dado qualquer, desde que o objeto que representa esse índice tenha os métodos equals e hashCode corretamente implementados.

O HashSet é uma estutura um pouco mais complexa do que o ArrayList e, portanto, um pouco menos performática (tanto em termos de velocidade quanto overhead de memória), embora isso dificilmente seja perceptível na maior parte dos casos.

—ArrayList----

  • escolha natural quando for necessário usar um vetor
    redimensionável: mais eficiente para leitura implementado
    internamente com vetores;

  • ideal para acesso aleatório;

  • Sequência definida;

  • elementos indexados.


—HashSet—

  • seqüência arbitrária;

  • elementos não repetem.