HashSetはSetインターフェースを実装したクラスで、値の挿入順を保持しません。
要素を取得する順序は順不同です。また、重複する要素の追加は許されません。
以下、インターフェースベースの手法で記述しています。
×HashSet set = new HashSet();
○Set set = new HashSet();
このようにSetインターフェースで実装することによって、後でHashSetではなく、
LinkedHashSetなどの同じインターフェースに書き換えたりと、メンテナンスしやすくなります。
以下、サンプルです。
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Test {
public static void main(String[] args) {
Set set = new HashSet();
set.add("2");
set.add("1");
set.add("1");
set.add("3");
set.add("1");
set.add("4");
Iterator itr = set.iterator();
while (itr.hasNext()) {
String element = (String)itr.next();
System.out.println(element);
}
}
}
実行結果は以下のようになります。
3
2
4
1