Если порядок сотрудников актуален (или если вам нужно, чтобы один сотрудник был представлен несколько раз), вам необходимо сохранить их в списке.(В противном случае набора будет достаточно.)
Я бы позволил Employee
переопределить метод equals
и использовал бы List.remove(Object o)
.
Из документов API Списка.:
boolean remove(Object o)
Удаляет первое вхождение указанного элемента из этого списка, если он присутствует (необязательная операция).Если этот список не содержит элемент, он не изменяется.Более формально, удаляет элемент с наименьшим индексом i, так что (o == null? Get (i) == null: o.equals (get (i))) (если такой элемент существует).
Конкретно, вы могли бы сделать что-то вроде
public class Employee{
int empid;
String name;
public boolean equals(Object o) {
if (o == null || !(o instanceof Employee))
return false;
Employee e = (Employee) o;
return empid == e.empid && name.equals(e.name);
}
public int hashCode() {
return empid ^ name.hashCode();
}
}