Won't they be in the correct order if you simply sort them three times, starting with the third thing you want it sorted on and moving to the second then the first, each time using the results of the previous sort?
You should be able to do each sort using a different Comparator and Collections.sort(List, Comparator).
For example, if I wanted to sort by name, followed by age, followed by income I could do something like this (presuming Employee had all those):
I have absolutely no idea if this will work, but somehow it makes sense to me at 1 AM in the morning. I would
test it, but I'm too lazy to figure out where the heck I have a compiler on here since I don't work from home anymore.