セット (抽象データ型)

セット（）あるいは集合とは、コンピュータプログラミングで用いられる抽象データ型の一種。順序のないデータの集まりを表現する抽象データ型であり、同一のデータは一つしか含まれないことが保証される。
重複したデータの挿入.
データの同一性は与えられた比較関数で判定されるので、外の文脈で同一かどうかは関数依存である。例えば文字列codice_1とcodice_2は異なるデータと見ることもできるし、大文字・小文字を区別せずに比較すれば（常に大文字化あるいは小文字化したもの同士を比較すれば）同一のデータと見ることもできるといった具合である。
そのような重複するデータを挿入しようとした場合はこれを処理する必要がある。
狭義のセットにおいては重複データは無視されるか新しいデータで置き換えるかされる。もしここで多重化することを選択した場合は複数回の削除を行わなければ値は完全に取り除かれない。
アクセス速度は実装により様々だが、二分木（TreeSet）やハッシュテーブル（HashSet）などのデータ構造を用いて高速化を図ることが多い。