Dizendo HashSet como classificar os dados
Estou tentando criar um HashSet (ou qualquer outro tipo de coleção - mas acho que o HashSet será o melhor para mim) que permanecerá em ordem, independentemente do que for inserido. É para um projeto de gerente de contatos em que estou trabalhando. Eu tenho experimentado, com o exemplo abaixo.
import java.util.*;
public class TestDriver{
public static void main(String[] args)
{
FullName person1 = new FullName("Stephen", "Harper");
FullName person2 = new FullName("Jason", "Kenney");
FullName person3 = new FullName("Peter", "MacKay");
FullName person4 = new FullName("Rona", "Ambrose");
FullName person5 = new FullName("Rona", "Aabrose");
HashSet<FullName> names = new HashSet<FullName>();
names.add(person3);
names.add(person1);
names.add(person4);
names.add(person2);
System.out.println(names);
}
}
Eu esperava que a saída colocasse os nomes em ordem alfabética - pelo menos de acordo com seu primeiro ou último nome. No entanto, eu nem consigo discernir o método usado pelo HashSet para fazer essa ordenação;
[Jason Kenney, Rona Ambrose, Stephen Harper, Peter MacKay]
Minha pergunta é: como eu digo ao meu programa como classificar os nomes com base em minhas especificações?