集合
集合是一种无序且不重复的数据集合。本小节介绍集合的创建方式与使用示例,以及集合的常用接口。
创建集合
使用<Util.h>中提供的工具方法来创建,方法声明如下:
static Set* createSet(DATA_TYPE keyType, INDEX capacity);
参数:
-
keyType
:表示集合中存储元素的类型,如 DT_INT,DT_DATE 等。 -
capacity
:表示集合初始预留存储 capacity 个元素的空间。
使用示例如下:
SetSP set = Util::createSet(DT_INT, 100);
常用接口
集合的常用接口如下:
bool append(const ConstantSP& value); //添加元素value到集合中
bool remove(const ConstantSP& value); //从集合中删除value
void contain(const ConstantSP& target, const ConstantSP& resultSP) const; //判断集合中是否存在元素target
INDEX size() const; //获取集合中元素的数量
void clear(); //清空集合
用法如下:
set->append(new Int(3)); //(3)
set->append(new Int(1)); //(3, 1)
set->append(new Int(2)); //(3, 1, 2)
set->append(new Int(2)); //(3, 1, 2)
ConstantSP result = new Bool;
set->contain(new Int(3), result); //result : true
set->contain(new Int(4), result); //result : false
set->remove(new Int(1)); //(2, 3)
set->remove(new Int(4)); //(2, 3)
std::cout << set->size(); //2
set->clear();