Le but de cet article est de présenter un diagramme de décision concernant le choix d'une Collection / Map en Java.
Ce diagramme :
- ne présente pas les ensembles de façon exhaustive,
- ne prend pas en compte les contextes multi-thread, ni les collections immutables,
- n'inclut pas les cas spécifiques : Queue, Stack,
- n'inclut pas les cas très spécifiques. Par exemple : Map avec unicité sur les clés utilisant l'opérateur "==" : IdentityHashMap.
Certaines collections sont fournies par Guava.
Le diagramme :
Quel que soit votre choix, assurez-vous de :
- redéfinir correctement les méthodes equals() et hashcode(),
- respecter le fameux contrat : deux objets égaux au sens d'equals doivent renvoyer le même hashcode.