So its absolutely necessary to use the comparator, it can't be done without it?Which name is being used for the sort? I'm assuming it's using the surname. You really should have your own comparator for this situation. In your comparator decide the order based on the last name, in case if both the last names are the same then decide on the first name; if the first names are the same too then retain their order in the sorted list. Such a comparator will give you a correct output.
Is it possible to convert the Set to ArrayList and then use Collections.sort?