这是我第一次使用这个网站,所以如果我没有正确使用它,我深表歉意。请务必让我知道。
无论如何,我有一个 Account 对象,它接受 2 个字符串......一个 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);
}
在帐户对象内使用 GETTER 进行编辑
public String testGetter()
{
return acctName.hashCode() + lastName.hashCode();
}