本例首先创建一个哈希表,然后向表中插入若干元素,接着从表中删除值为2的元素。代码如下:
// 新建一个hash表
QHash<int, int> h;
// 插入元素
h.insert(1,2);
h.insert(2,1);
h.insert(3,2);
h.insert(4,3);
h.insert(5,2);
h.insert(6,2);
h.insert(7,3);
// hash表迭代器
QHash<int,int>::iterator i;
qDebug()<<"before delete v == 2";
// 遍历并显示表中所有元素
for(i=h.begin();i!=h.end();i++){
qDebug()<<"k: "<<i.key()<<" v: " << i.value();
}
// 删除表中值为2的所有元素
for(i=h.begin();i!=h.end();){
(i.value() == 2)?i=h.erase(i):i++;
}
qDebug()<<"after delete v == 2";
// 遍历并显示表中所有元素
for(i=h.begin();i!=h.end();i++){
qDebug()<<"k: "<<i.key()<<" v: " << i.value();
}
运行结果为:
before delete v == 2
k: 1 v: 2
k: 2 v: 1
k: 3 v: 2
k: 4 v: 3
k: 5 v: 2
k: 6 v: 2
k: 7 v: 3
after delete v == 2
k: 2 v: 1
k: 4 v: 3
k: 7 v: 3