何を挿入しても順番に残るHashSet(または任意のコレクションタイプ-ただし、HashSetが最適だと思います)を作成しようとしています。私が取り組んでいるコンタクトマネージャープロジェクト用です。以下の例で実験してきました。
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);
}
}
出力では、名前がアルファベット順に並べられることを期待していました。少なくとも、名前または名前のいずれかに従っています。ただし、HashSetがこの順序を作成するために使用した方法を見分けることさえできません。
[Jason Kenney, Rona Ambrose, Stephen Harper, Peter MacKay]
私の質問は、仕様に基づいて名前を並べ替える方法をプログラムにどのように伝えるかです。