Javaのセット(Set)について


JavaのセットSetは「数学の集合」の概念を表しています。重複のない要素の集まりです。リストが順序で並んだ集まりで重複した要素を持てますが、セットの場合は順序は無関係で要素に重複はありません。

🍮 Setの具象クラス

Setインターフェイスを実装した具象クラス「HashSet、LinkedHashSet、TreeSet」でMapと内部実装は同じで、使い分けの基準も同じことがいえます。

  • 順序が不要な場合はHashSet
  • 追加した順序が欲しい場合はLinkedHashSet
  • ソートされた順序が欲しい場合はTreeSet

🐝 代表的なメソッド

Setインターフェイスの代表的なメソッドを紹介します。

メソッド名 説明
add 要素の追加
addAll 要素をまとめて追加
contains 要素の存在チェック
remove 要素の削除
size 要素数の取得

🎃 サンプルコード

Setインターフェイスの利用例のサンプルコードを紹介します。

public class SetSample {
public static void main(String... args) {
Set<String> set = new HashSet<>();
boolean b1 = set.add("abc"); // b1は true
boolean b2 = set.add("def"); // b2は true
boolean b3 = set.add("abc"); // b3は false
for (String e: set) { //すべての要素を出力
System.out.println(e); // => abc, def
}
}
}

😸 参考リンク

改訂2版 パーフェクトJava

📚 おすすめの書籍