Если вы создаете этот список:
Тогда избегание дубликатов может быть жизнеспособной альтернативой удалению дубликатов.
QList<int> cont;
int incomingValue;
if(!cont.contains(incomingValue))
{
cont.append(incomingValue);
}
Кроме того, поскольку речь идет о QList <> (а не только о QList ) ...
Некоторые могут использовать пользовательский класс и предпочитают избегать дубликатов.
class SoftDrink
{
public:
int oz
QString flavor
bool operator==(const Beverage &other) const{
uint hash = qHash(flavor) ^ oz;
uint otherHash = qHash(other.flavor) ^ other.oz;
return hash == otherHash;
}
}
оператор == , подобный приведенному выше, может позволить QList сравнивать метод contains () с пользовательским типом данных
QList<SoftDrink> uniquePurchaseHistory;
SoftDrink newPurchase;
if(!uniquePurchaseHistory.contains(newPurchase)){
uniquePurchaseHistory.append(newPurchase);
}