Bonjour,
J'aimerai savoir si un élément (c'est un objet que j'ai créé et non un int ou un String) se trouve déjà dans une ArrayList. Comment puis-je faire ?
Merci.
Emilie
Bonjour,
J'aimerai savoir si un élément (c'est un objet que j'ai créé et non un int ou un String) se trouve déjà dans une ArrayList. Comment puis-je faire ?
Merci.
Emilie
Pour faire ca, il faut redefinir les methodes equals et hashCode (elle marche un peu ensemble, pour plus de detail voir l'PAI de Map je crois) et ensuite sur ta List appeler la methode contains( Elem el )
voila,
p.s. pour plus de detail voir l'API de List
A mon humble avis redéfinir la méthode hashcode n'est pas nécessaire dans ton cas une liste, mais dans le cas où tu as besoin d'une clé de hachage (HashMap par exemple).
A+
Oui c'est vrai que la ca n'as pas grand interet, mais tant a faire c'est un bon reflexe qui peux eviter de perdre une journée en debug(non, je ne parle pas d'une experience vécue !)
Salut,
En effet...Envoyé par thibaut
Toutefois je conseillerai également de redéfinir hashCode() pour plusieurs raison :
- Pour la cohérence de l'ensemble. Le fait de redéfinir equals() "casse" le contrat de l'implémentation par défaut de hashCode() (cf la javadoc de Object.equals()).
- La clef de hachage n'est pas seulement utile pour les clé des Map, mais également par certaines collections (certains Set en particulier). Une incohérence entre equals() et hashCode() pourraient entrainer des comportement "bizarre"...
- Etant donné les liens très fort entre ces deux méthodes, il est fortement souhaitable de les écrire en même temps.
Sinon pour l'implémentationhttp://www.developpez.net/forums/sho...4&postcount=65
a++
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager