Qtの基礎 - 集合

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動

概要

QSetクラスは、各要素がユニーク (重複がない) であることを保証するコンテナである。
内部的にはハッシュテーブルを使用しており、主に要素の存在確認、要素の追加、削除等に使用される。

QSetクラスは、要素に対する高速なアクセスを提供するが、要素間の順序は保証されない。

一方、QMapクラスとQHashクラスは、キーと値のペアを保持する連想コンテナである。
QMapは内部的に赤黒木を使用しており、キーに基づいて要素が自動的にソートされる。
QHashクラスはハッシュテーブルを使用しており、キーに基づく高速なアクセスを提供するが、要素の順序は保証されない。

QSetクラスは要素のユニークな集合を管理するためのコンテナであり、キーと値のペアを連想して管理するQMapクラスやQHashクラスとは異なる目的で使用される。


許可された値

以下の例では、許可された値の集合を作成して、任意の変数の値がこの集合に含まれているかどうかを確認している。

 #include <QSet>
 
 // 許可された値のQSetを定義
 const QSet<int> allowedValues = {10, 20, 30, 40, 45, 50, 55, 60, 70};
 
 // 任意のint型の変数
 int hoge = 100;
 
 // 任意のint型変数において、許可された値のQSetに含まれているかどうかを確認
 if (!allowedValues.contains(hoge)) {
    // 許可された値ではない場合
    hoge = 50;
 }