繁体   English   中英

如何检查QList中是否存在值?

[英]how to check if a value exist in QList?

我有一个 class 来保存客户的 ID 和他的名字。 保存后,我将 object 插入QList并在桌子上查看它们。

我需要的:

我需要检查客户是否已添加到表中。

我的做法:

我正在尝试使用客户 ID 搜索列表,如果找到它,我想更新他的记录,否则添加一个新记录。

代码应该看起来像这样。

bool customerExist = customersList.contains(customerID);

if (!customerExist) 
{
    customersList.append(customer)
}

您可以通过执行以下操作在列表中搜索:

auto iterator = std::find_if(
  customersList.begin(), customersList.end(),
  [](MyObject x) { return x.myproperty() == customerID; }
);
if (iterator != customersList.end())

如果您需要定期通过 customerID 访问您的数据,我建议使用QMap<int, Customer*> (使用您的 customerID 类型作为键)

如果客户数量越来越大,使用 QMap 会快得多。

然后你可以做类似的事情::

if (!myMap.contains(customerID))
{
    myMap.insert(customerID, customer);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM