Java 从树集中删除用户定义的对象

Java remove User defined object from Tree Set

我创建了一个包含患者姓名和性别的 class 患者对象,我想根据患者姓名将其删除。正确的做法是什么?

这是我的 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) {

}

只是在这样做时迭代和删除,将导致并发修改异常。您可以临时保存要删除的项目,稍后再将其删除: 例如:

void removePatient(String patientName) {
    Person deleteThat;
    for (Patient p : ts){
       if(p.getName().equals(patientName){
           deleteThat = p;
       }
    }
    if(deleteThat != null){
        ts.remove(deleteThat);
    }
}