Java 如何为HashMap创建remove方法
我目前正在编写一个员工商店,我需要能够删除商店的内容 我该怎么做 我已经有了一个使用键删除它的删除方法。但是当我在互联网上发现这个代码时,我不知道如何使用它 这是我的密码: MainAppJava 如何为HashMap创建remove方法,java,hashmap,Java,Hashmap,我目前正在编写一个员工商店,我需要能够删除商店的内容 我该怎么做 我已经有了一个使用键删除它的删除方法。但是当我在互联网上发现这个代码时,我不知道如何使用它 这是我的密码: MainApp public class MainApp { public static void main(String[] args) { new MainApp().start(); } public void start() { Employ
public class MainApp
{
public static void main(String[] args)
{
new MainApp().start();
}
public void start()
{
EmployeeStore Store = new EmployeeStore();
Store.add(new Employee ("James O' Carroll", 18,"hotmail.com"));
Store.add(new Employee ("Andy Carroll", 1171,"yahoo.com"));
Store.add(new Employee ("Luis Suarez", 7,"gmail.com"));
Store.print();
Store.clear();
Store.print();
Store.add(new Employee ("James O' Carroll", 18,"hotmail.com"));
Store.add(new Employee ("Andy Carroll", 1171,"yahoo.com"));
Store.add(new Employee ("Luis Suarez", 7,"gmail.com"));
Store.print();
Store.remove();
}
}
员工商店
//Imports.
import java.util.HashMap;
//********************************************************************
import java.util.Map;
public class EmployeeStore
{
HashMap<String, Employee> map;
//Constructor.
public EmployeeStore()
{
map = new HashMap<String,Employee>();
}
//********************************************************************
//Hashmap Methods.
//Add to the Hashmap : Employee.
public void add(Employee obj)
{
map.put(obj.getEmployeeName(), obj);
}
//********************************************************************
//Remove from the Hashmap : Employee.
public void remove(String key)
{
//Remove the Employee by name.
map.remove(key);
}
//********************************************************************
//Clear the Hashmap : Employee.
public void clear()
{
map.clear();
}
//********************************************************************
//Print the Hashmap : Employee.
public void print()
{
System.out.println("\n********Employee's in the Company.********");
for (Employee employee : map.values())
{
System.out.println("Employee Name:\t" + employee.getEmployeeName());
System.out.println("Employee Id:\t" + employee.getEmployeeId());
System.out.println("E-mail:\t"+ employee.getEmployeeEmail());
}
}
//********************************************************************
//********************************************************************
}
您的
EmployeeStore
使用HashMap
存储员工。每个员工在地图上都有自己的名字。要删除员工,只需调用EmployeeStore.remove(字符串employeeName)
有两件事你应该注意:
1-当前的实现不允许两个或多个员工拥有相同的姓名,因为这些姓名被用作地图中的关键字
2-调用remove
方法时,必须提供确切的名称,因为Java中的String
相等性区分大小写
您可能还想看看。a.为什么不使用HashMap的remove方法来解决这个问题
B.此外,您可能希望根据某些条件执行删除操作-为此,您必须在地图上迭代,找到相关条目,获取其密钥,然后调用删除,如A节所述。您不清楚自己在问什么。您已经有了
remove()
方法,那么还需要什么呢?代码中有员工存储。我会通过添加评论来让它更清楚。我不知道如何在MainApp中使用remove方法。我需要删除安迪·卡罗尔。我不知道怎么做。删除安迪·卡罗尔当然是个好主意。:)你必须打电话给Store.remove(“安迪·卡罗尔”)代码>作为旁白,变量应该以小写字母开头,例如store
而不是store
。这是一个几乎所有用Java编码的人都遵守的惯例。非常感谢你让我能理解。如果你想要求澄清这个问题,请在评论中这样做,而不是回答。
//Imports:
//********************************************************************
//Employee Class.
public class Employee
{
//Variables.
private String employeeName;
private int employeeId;
private String employeeEmail;
//********************************************************************
//Constructor.
public Employee(String employeeName, int employeeId, String employeeEmail)
{
this.employeeName = employeeName;
this.employeeId = employeeId;
this.employeeEmail = employeeEmail;
}
//********************************************************************
//Getters.
public String getEmployeeEmail() {
return employeeEmail;
}
public void setEmployeeEmail(String employeeEmail) {
this.employeeEmail = employeeEmail;
}
public String getEmployeeName() {
return employeeName;
}
public int getEmployeeId() {
return employeeId;
}
//********************************************************************
//toString method.
public String toString() {
return "Employee [employeeName=" + employeeName + ", employeeId="
+ employeeId + ", employeeEmail=" + employeeEmail + "]";
}
//********************************************************************
}
EmployeeStore employeeStore = new EmployeeStore();
employeeStore.add(new Employee ("James O' Carroll", 18,"hotmail.com"));
employeeStore.add(new Employee ("Andy Carroll", 1171,"yahoo.com"));
employeeStore.add(new Employee ("Luis Suarez", 7,"gmail.com"));
// Remove a certain employee
employeeStore.remove("Andy Carroll");
// Remove all employees
employeeStore.clear();