Qt容器QVector

发布时间:2024年01月22日

添加元素

    QVector<QString> vStarts;

    //添加元素
    vStarts <<"张艺兴";  //添加单个元素
    vStarts <<"鹿晗" <<"热巴"; //添加多个元素
    vStarts.append("杨紫");   //用append添加元素
    vStarts.prepend("Anglebaby"); //prepend添加到元素第一个位置
    vStarts.insert(2,"小明");     //利用下标插入元素,在下标为2的元素插入小明
    qDebug()<<vStarts;

修改元素


    vStarts.replace(4,"迪丽热巴");
    qDebug()<<vStarts;

删除元素

    vStarts.remove(0);
    qDebug() << vStarts ;
    vStarts.removeAll("迪丽热巴");
    qDebug()<< vStarts;

注意:removeAll不是删除所有,而是删除指定元素;clear是删除所有元素!?

查询数据元素及判断是否包含某个元素

    qDebug()<< "第三个星星:" <<vStarts[2];
    qDebug()<<"是否包含小明?"<<vStarts.contains("小明");

Java风格迭代器

    //Java风格只读迭代
    QVectorIterator<QString> it_sr(vStarts);
    for(it_sr.toFront();it_sr.hasNext();)
        qDebug()<<it_sr.next();

    //java风格读写迭代
        QMutableVectorIterator<QString> it_srw(vStarts);
        for(it_srw.toFront();it_srw.hasNext();)
        {
            QString s = it_srw.next();
            if(!QString::compare(s,"小明"))
                it_srw.setValue("黄晓明");
        }

            qDebug()<<"修改后“小明”的链表是:";
            for(it_srw.toFront();it_srw.hasNext();)
            {
                 qDebug()<<it_srw.next();
            }

文章来源:https://blog.csdn.net/nanshenchao/article/details/135745589
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。