XMLのエレメントからAttrのデータを取得して、そのデータをコンストラクタのパラメータに使ってオブジェクトを作っています。
エレメントは複数あり、ループで生成したオブジェクトをArrayListに代入していきたいのですが、
その際全く同じ内容のものは代入したくありません。
そこでこのようにしてみました。

for(int i=0; i<nodeList.getLength(); i++){
 Element elem = (Element)nodeList.item(i);
 MyObj myObj = new MyObj(
  elem.getAttribute("attr1"),
  elem.getAttribute("attr2") );
 if(!myArrayList.contains(myObj))
  myArrayList.add(myObj);
}

この例で言うと、attr1とattr2の両方が同じものが既にmyArrayListに追加されているなら、
もう追加したくないのです。

しかし、これを実行すると(!myArrayList.contains(myObj))の評価が
必ずtrueとなり、全てのオブジェクトがmyArrayListに追加されてしまいます。

どうすればよかとですか?