Buenas,
Yo creo que sobreescribir el método equals puede dar lugar a muchos problemas y confusiones si posteriormente se intentan comparar objetos, ya que se considerará que dos Personas son iguales sólo por el hecho de que se llamen igual.
Aún más importante: dado que los set no permiten elementos repetidos, si se intenta introducir una persona que se llame igual que una existente, no se realizará la inserción:
http://docs.oracle.com/javase/7/docs...Set.html#add(E)
Cita: Adds the specified element to this set if it is not already present. More formally, adds the specified element e to this set if the set contains no element e2 such that (e==null ? e2==null : e.equals(e2)). If this set already contains the element, the call leaves the set unchanged and returns false.
Sería más recomendable, por tanto, recorrer el set y hacer manualmente un equals del persona.getNombre(); para decidir si se elimina o no.
Un saludo