このサイトを利用するのは初めてなので、使い方が間違っていたら申し訳ありません。教えてください。
とにかく、2 つの文字列を受け取る Account オブジェクトがあります... acctName と lastName (コードは以下)。
キーが acctName であるハッシュ テーブルにこのオブジェクトを挿入し、衝突を減らすために多項式を使用したいと考えています。hashCode() と equal メソッドをオーバーライドする必要があると聞きました。私は正しくオーバーライドしたと信じていますが、呼び出されていないように見えるため、正しいかどうかはわかりません。私がこれを正しく行っているかどうか(適切な場所でオーバーライドして正しく追加するか)、追加後に印刷する方法を説明してもらえますか?
ありがとうございます。今後もコミュニティに貢献できることを楽しみにしています。
クラス ---> アカウント
public class Account
{
private String acctName;
private String lastName;
public Account(String acctName, String lastName)
{
this.acctName= acctName;
this.lastName= lastName
}
@Override
public int hashCode() {
return acctName.hashCode() + lastName.hashCode();
}
@Override
public boolean equals (Object otherObject) {
if (!(otherObject instanceof Account)) {
return false;
}
if (otherObject == this) {
return true;
}
Account accountHolder = (Account) otherObject;
return acctName.equals(accountHolder.acctName) && lastName.equals(accountHolder.lastName);
}
クラス---->ドライバー
public void insertInto()
{
Hashtable<String,Account> hash=new Hashtable<String,HoldInformation>();
Account account= new Account ("Deposit", "Jones");
Account account2= new Account ("Withdraw", "Smith");
hash.put ("deposit", account);
hash.put ("Withdraw", account2);
}
Account オブジェクト内で GETTER を使用して編集する
public String testGetter()
{
return acctName.hashCode() + lastName.hashCode();
}