Говоря HashSet, как сортировать данные

я пытаюсь создать HashSet (или любой тип коллекции - но я думаю, что HashSet подойдет мне лучше всего), который останется в порядке, независимо от того, что вставлено. Это's для проекта менеджера контактов, над которым я работаю. Я'Мы экспериментировали с примером ниже.

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 names = new HashSet();

        names.add(person3);
        names.add(person1);
        names.add(person4);
        names.add(person2);

        System.out.println(names);      
   } 
}

Я ожидал, что вывод будет располагать имена в алфавитном порядке - по крайней мере, в соответствии с их именем или фамилией. Тем не менее, я могуt даже различить метод, который HashSet использовал для этого заказа;

[Jason Kenney, Rona Ambrose, Stephen Harper, Peter MacKay]

У меня вопрос, как мне сказать моей программе, как сортировать имена на основе моих спецификаций?

Ответы на вопрос(5)

Ваш ответ на вопрос