Como muitos dos membros sugeriram, use o LinkedHashSet para manter a ordem da coleção. Você pode agrupar seu conjunto usando esta implementação.
A implementação SortedSet pode ser usada para ordem classificada, mas, para seu propósito, use o LinkedHashSet .
Também a partir dos documentos,
"Esta implementação poupa seus clientes do pedido geralmente caótico não especificado fornecido pelo HashSet, sem incorrer no aumento do custo associado ao TreeSet. Ele pode ser usado para produzir uma cópia de um conjunto que tenha a mesma ordem que o original, independentemente do original. implementação do conjunto: "
Fonte: http://docs.oracle.com/javase/6/docs/api/java/util/LinkedHashSet.html