標準のJavaDocにはこう書かれてるんすよ。
指定された要素がセットに含まれている場合にtrueを返します。つまり、このセットに、(o==null ? e==null : o.equals(e))となる要素eが含まれている場合にのみtrueを返します。
つまりオレオレクラスを使ったHashSetでcontainsしたいときは、オレオレクラスにequalsだけオーバーライド実装すればいいと思うじゃないですか?
ところが残念、hashCodeもオーバーライド実装しないと正しく動かないんですねぇ~~~~~~
ひしだまさんのところでequalsをオーバーライドするならhashCodeもオーバーライドせなあかんよ~って書かれてるのはこういうことだったんですねぇ~~~~~~~~
JavaDocにちゃんと書いておいて欲しいですねぇ~~~~~~~~
JavaDocは大切ってことですねぇ~~~~~~~~~