void Widget::QMutableList(void) //java格式的list
{
QList<int> list; //QT容器类
QMutableListIterator<int> i(list); //容器类读写迭代器
for(int j=0;j<10;j++)
i.insert(j);
for(i.toFront();i.hasNext();) //跳转到头再遍历
qDebug()<<i.next();
for(i.toBack();i.hasPrevious();) //跳转到尾再处理数据
{
if(i.previous()%2 ==0)
i.remove();
else
//i.setValue(i.peekNext()*10);
i.setValue(i.value()*10);
}
for(i.toFront();i.hasNext();) //遍历数据
qDebug()<<i.next();
}
void Widget::QConstList(void) //stl格式的list
{
QList<int> list; //list容器
for(int j=0;j<10;j++)
{
list.insert(list.end(),j); //插入数据
}
QList<int>::iterator i; //读写迭代器
for(i = list.begin();i!=list.end();++i) //迭代器指向list
{
qDebug()<<(*i);
*i = (*i)*10;
}
QList<int>::const_iterator ci; //只读迭代器
for(ci = list.begin();ci!=list.end();++ci) //迭代器指向list
{
qDebug()<<(*ci); //输出list容器的值
}
}
void Widget::QmapJava(void) //Java格式的map
{
QMap<QString,QString> map; //map容器
map.insert("beijing","111"); //插入数据
map.insert("shanghai","021");
map.insert("nanjing","025");
QMapIterator<QString,QString> i(map); //map只读迭代器
for(;i.hasNext();)
{
i.next();
qDebug()<<i.key()<<":"<<i.value();
}
QMutableMapIterator<QString,QString> mi(map); //map读写迭代器
if(mi.findNext("111")) //查找数据并更改
mi.setValue("010");
QMapIterator<QString,QString> modi(map); //map只读迭代器
for(;modi.hasNext();) //map遍历
{
modi.next();
qDebug()<<modi.key()<<":"<<modi.value();
}
}
void Widget::QmapStl(void) //stl格式map
{
QMap<QString,QString> map; //定义map
map.insert("beijing","111"); //插入数据
map.insert("shanghai","021");
map.insert("nanjing","025");
QMap<QString,QString>::const_iterator i; //创建只读迭代器
for(i = map.constBegin();i!=map.constEnd();++i) //遍历map
qDebug()<<i.key()<<":"<<i.value();
QMap<QString,QString>::iterator mi; //创建读写迭代器
mi = map.find("beijing"); //查找修改数据
if(mi !=map.end())
mi.value() = "010";
QMap<QString,QString>::const_iterator modi; //创建只读迭代器
for(modi = map.constBegin();modi!=map.constEnd();++modi) //遍历map
qDebug()<<modi.key()<<":"<<modi.value();
}