Java アドバンス

Java Set

1. Java Set インターフェース

Set インターフェースは、Javaコレクションフレームワーク(Java Collections Framework)の一部であり、ユニークな要素(一意の要素)の集合を格納するために使用されます。

List とは異なり、Set は要素の重複を許可しません。また、基本的には要素の順序を保持しません(ただし、TreeSetLinkedHashSet を使用する場合を除きます)。

Set を実装する一般的なクラス:

  • HashSet - 高速な動作が可能だが、順序は保持されない。
  • TreeSet - 要素がソート(並び替え)された状態で管理される。
  • LinkedHashSet - 要素が挿入された順序を維持する。

       ヒント: ユニークな値のみを保存する必要がある場合には、Set を使用してください。

2. 主要なSetメソッド

Setインターフェースで利用できる標準的なメソッドは以下の通りです。

メソッド説明
add()要素がまだセットに存在しない場合、その要素を追加する。
remove()セットから指定された要素を削除する。
contains()セットに特定の要素が含まれているかを確認する。
size()セット内の要素数を返す。
clear()セットからすべての要素を削除する。

3. Set と List の比較

開発において SetList のどちらを選択すべきか、その主な違いを以下の表にまとめました。

特性ListSet
重複の許可重複を許可する重複を許可しない
順序の保持挿入順序を維持する順序を保証しない(一部の実装を除く)
アクセス方法インデックスによるアクセスが可能インデックスによるアクセスは不可