ArrayList vs HashSet

HashSet et ArrayList font parties des classes les plus importants du framework Java Collection. Ci-dessous quelques différences entre HashSet et ArrayList.

Implémentation:

La principale différence entre ArrayList et HashSet est que ArrayList est l'implémentation de l'interface List tandis que HashSet est l'implémentation de l'interface Set.

Implémentation interne

ArrayList utilise un tableau pour stocker ses éléments.
HashSet utilise une hashmap pour son implémentation.

L'ordre des éléments

ArrayList garde l'ordre des éléments dont ils sont insérés.
HashSet ne garde pas l'ordre des éléments.

Duplication

ArrayList autorise les valeurs dupliquées.
HashSet n'autorise pas les valeurs dupliquées.

Performance

ArrayList utilise un index pour améliorer les performances par appeler la méthode get(index) pour récupérer un élément et remove(index) pour supprimer un élément.
HashSet est completement basée sur les objets et ne propose pas de méthode get.

Objet Null

Dans ArrayList, n'importe quel element null est permis.
HashSet autorise seulement une seule valeur null.


Références: