一、描述

QSet<T> 是 Qt 的通用容器类之一。 它以未指定的顺序存储值并提供非常快速的值查找。

二、成员函数

QSet的API大部分和QList相同。这里仅列举QSet独有的成员函数。

1、QSet<T> & intersect(const QSet<T> &other)

     QSet<T> & operator&=(const QSet<T> &other)

从当前集合中删除other集合中未包含的所有项目。返回当前集合的引用。

    QSet<int> set1{1,2,3,4,5};
    QSet<int> set2{4,5};

    set1.intersect(set2);
    qDebug()<<set1;// QSet(4, 5)

2、bool intersects(const QSet<T> &other)

如果此集合至少有一项与 other 的项相同,则返回 true。(是否相交)

3、QSet<T> & subtract(const QSet<T> &other)

从当前集合中删除包含在other集合中的所有项目。返回当前集合的引用。

    QSet<int> set1{1,2,3,4,5};
    QSet<int> set2{4,5};

    set1.subtract(set2);
    qDebug()<<set1;// QSet(1, 2, 3)

4、QSet<T> & unite(const QSet<T> &other)

other 集合合并到当前集合。 返回当前集合的引用。

    QSet<int> set1{1,2,3,4,5};
    QSet<int> set2{4,5,6,7};

    set1.unite(set2);
    qDebug()<<set1;//QSet(3, 1, 5, 6, 7, 2, 4)

5、QSet<T> operator&(const QSet<T> &other)

返回新的集合。取交集。

    QSet<int> set1{1,2,3,4,5};
    QSet<int> set2{4,5,6,7};

    qDebug()<<(set1 & set2);//QSet(4, 5)

6、QSet<T> & operator&=(const T &value)

    QSet<int> set1{1,2,3,4,5};

    set1 &= 4;
    qDebug()<<set1;//QSet(4)

7、QSet<T> operator-(const QSet<T> &other)

返回一个新的 QSet,它是当前集合和 other 集合的集合差。

    QSet<int> set1{1,2,3,4,5};
    QSet<int> set2{4,5,6,7};

    qDebug()<<(set1 - set2);// QSet(1, 2, 3)

8、QSet<T> & operator-=(const QSet<T> &other)

等同于 subtract(other)。

9、QSet<T> & operator-=(const T &value)

    QSet<int> set1{1,2,3,4,5};

    qDebug()<<(set1 -= 3);// QSet(5, 2, 1, 4)
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐