我创建了一个包含患者姓名和性别的Patient对象,我想根据患者姓名将其删除。这样做的正确方法是什么?
这是我的患者对象:
class Patient {
private String name;
private int gender;
public Patient(String name, int gender){
this.name = name;
this.gender = gender;
}
public String getName(){
return this.name;
}
public int getGender(){
return this.gender;
}
public void setName(String name){
this.name = name;
}
public void setGender(int gender){
this.gender = gender;
}
}
这是我的Treeset声明:private TreeSet<Patient> ts = new TreeSet<Patient>(new nameComp());
这是我的删除方法(我不知道如何开始)
void RemovePatient(String patientName) {
}
答案 0 :(得分:1)
在执行此操作时进行迭代和删除将导致并发修改异常。您可以临时保存该项目以便以后删除和删除它: 例如:
void removePatient(String patientName) {
Person deleteThat;
for (Patient p : ts){
if(p.getName().equals(patientName){
deleteThat = p;
}
}
if(deleteThat != null){
ts.remove(deleteThat);
}
}