我创建了一个哈希映射来存储对象Person,关键是一个String(Person的电子邮件地址)。我试图使用键删除hashmap中的条目,但不知道为什么它不会删除它。什么地方出了错?我的代码和输出都包含在内。任何帮助表示赞赏!无法从哈希映射中删除元素
import java.util.HashMap;
import java.util.Map;
public class TestHashMap {
private Map <String, Person> personDB = new HashMap<String, Person>();
// added main to test the code
public static void main(String[] args) {
TestHashMap org = new TestHashMap() ;
// add data to personDB
org.add(new Person("A", "Smith","1234567890","[email protected]"));
org.add(new Person("B", "Smith","1234567890", "[email protected]"));
org.add(new Person("C", "Walsh","1234567890","[email protected]"));
org.add(new Person("D", "Glatt","1234567890","[email protected]"));
org.add(new Person("E", "Cheong", "1234567890","[email protected]"));
org.add(new Person("F", "Walsh","","[email protected]"));
// remove an element from personDB
org.display("testing ......before remove"); // display all elements in personDB
org.remove("[email protected]");
org.display("after..................");
}
public void add(Person p) {
String key = p.getEmail();
personDB.put(key, p);
}
public void remove(String mail) {
Object obj = personDB.remove(personDB.get(mail));
System.out.println(obj + " deleted!");
}
}
我的输出:
testing ......before remove("[email protected]")
ID:[[email protected]]
ID:[[email protected]]
ID:[[email protected]]
ID:[[email protected]]
ID:[[email protected]]
ID:[[email protected]]
null deleted!
after..................
ID:[[email protected]]
ID:[[email protected]]
ID:[[email protected]]
ID:[[email protected]]
ID:[[email protected]]
ID:[[email protected]]
是的,谢谢,那作品! – mwalsh
@mwalsh你可以[接受正确答案](http://meta.stackexchange.com/questions/16721/how-does-accept-rate-work) –