[英]How can I use java decimalformat to change my double type number from x.0E-4 to 0.000x?
[英]How can I remove an object of type X from a hashtable given one unique attribute of X in Java?
假设我有一个上课的人
public class Person {
int personID = 123;
String fname = John;
String lname = Doe;
}
并且我创建了一个哈希表。 (将人同时用作键和值)。 现在,假设每个人都有一个唯一的ID,并假设哈希表充满了人,我想给定一个唯一的ID(int),从与该ID对应的哈希表中删除该人。
问题在于用什么参数赋予hashtable.remove()函数,因为它采用了Person类型而不是int类型的对象。
注意:假设键和值均为Person类型,这是设计要求,不能更改
编辑:我已经覆盖了人员类的hashcode()和equals()方法,它们现在都依赖于personID。 但是我仍然不知道要传递什么hashtable.remove()方法,因为它采用的是Person类型,并且我想根据用户提供的int(即personID)删除它
如果您已基于personID覆盖了equals()和hashCode()方法,则只需使用要搜索的personID创建一个Person对象,并相应地搜索/删除此person。
假设您要搜索123 personID。
您可以Person p = new Person(); p.personID = 123; p.fName = "XYZ"; p.lName = "ABC"; myHashtable.remove(p);
Person p = new Person(); p.personID = 123; p.fName = "XYZ"; p.lName = "ABC"; myHashtable.remove(p);
由于equals()和hashCode()基于personID。 因此表格将根据personID进行搜索/删除
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.