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);
}
}
我创建了一个包含患者姓名和性别的 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);
}
}