[英]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.