Vérifier si une ArrayList contient un objet donné

En supposant que j'ai la classe comme ceci:

class A {
  int elementA;
  int elementB
}

J'ai aussi un ArrayList comme ceci: ArrayList<A> listObj.

Comment puis-je vérifier si la liste contient un objet à l'aide de seulement quelques propriétés des A? E. g. en considérant seulement les elementA pour trouver si l'objet newA{elementA} est déjà dans la liste?

Pour objet A j'ai défini un equals méthode, où je considère que seul le elementA, cependant ce n'est pas suffisant.

  • Montrez votre equals méthode.
  • Si vous avez remplacé votre equals() correctement, puis listObj.contient(new A(elemAvalue)) devrait fonctionner. Notez que vous devez également remplacer hashCode uniquement compte des elementA valeur, si ce n'est pas fonctionnellement pertinents pour cet exemple.
  • if (!days.contains(getDate())) { days.add(getDate()); }
  • pour équivaut j'utilise voici l'exemple en tant que source (equals et hashCode)
InformationsquelleAutor Saulius S | 2013-04-29