jeudi 24 octobre 2019

Java : Un guide pour choisir la structure de données approprié à votre cas.


L'interface Set modélise un ensemble d'objets dans lequel on ne peut pas trouver de doublons.

Un Set ne peut pas contenir plus d'un objet null.

Implémentations HashSet et LinkedHashSet
  
TreeSet implémente NavigableSet

log(n) time cost for the basic operations (add, remove and contains).

https://dzone.com/articles/the-hidden-contract-between-equals-and-comparable


TreeSet implémente SortedSet, alors que HashSet n'implémente "que" Set.
  
Dit autrement, TreeSet implémente un ensemble ordonné : si tu itères sur les éléments du TreeSet, tu les obtiendras en ordre croissant (selon la méthode compareTo() de Comparable).

Par ailleurs, TreeSet repose sur la méthode compareTo() pour fonctionner. HashSet repose sur la méthode hashCode().

Si tu as besoin d'avoir un ensemble trié -> TreeSet

Sinon -> HashSet (car plus rapide)

List est la solution si on veut garder l'ordre par defaut, mais si on doit réordonner les données il faut utiliser une autre structure comme TreeSet .

Source : http://www.sergiy.ca/guide-to-selecting-appropriate-map-collection-in-java



Java Map/Collection Cheat Sheet

Aucun commentaire:

Enregistrer un commentaire

to criticize, to improve