私はMyClass
を持っています。これは2つの整数を格納していて、はmyVector
です。Java:ベクトルからのカスタムオブジェクトの削除
は今、私はこれを行う:
...
myVector.add(new MyClass(1,1));
for(MyClass m : myVector)
System.out.println(m);
System.out.println(myVector.size());
myVector.remove(new MyClass(1,1));
for(MyClass m : myVector)
System.out.println(m);
System.out.println(myVector.size());
...
ここでの問題は、私はベクトルとそのサイズを印刷するとき、私が見るように、オブジェクトが、削除されていないことです。どうすればそれを修正できますか?
編集:私はそれがオブジェクトを見つけることができないと私はとテストしたことがわかります。私が必要とするのは、それを価値観と比較することです。もし私が==
オペレータを過負荷にすることができたら、私はそれを行うことができましたが、これをどのように修正するのか分かりません。
編集2:いいえ、equals()
は私がしたいことをします。しかし、私はhashCodeメソッドに何を入れるべきか分かりません。
編集3:私はcontains()で見つけることができますが、削除すると削除されません。
上記のコードを除いて、削除(新しいMyClassの(1,1)と同じであるint position = myVector.indexOf(new MyClass(1,1));
myVector.remove(position);
が動作していない任意の考えを行います)(削除:
でも、私はそれを削除するためにこれを使用することができます。 ?
私は自由にクラスを大文字にしました。クラスは大文字で始まります。 –
大丈夫、申し訳ありませんが、私は名前が良くありません。 –
PDFを読むhashCode()の情報については、リンク先を参照してください。 –