Question

Que dois-je utiliser entre QMap :: insertMulti et QMultiMap à la poignée:

2 -> abc
2 -> def
3 -> GHI
3 -> JKL

Quelle est la différence entrez les 2 solutions?

Était-ce utile?

La solution

Lecture Classes conteneur :

QMap<Key, T>
This provides a dictionary (associative array) that maps keys of type Key to values of type T. Normally each key is associated with a single value. QMap stores its data in Key order; if order doesn't matter QHash is a faster alternative.

QMultiMap<Key, T>
This is a convenience subclass of QMap that provides a nice interface for multi-valued maps, i.e. maps where one key can be associated with multiple values.

il semble que les deux peuvent faire le travail. Dans ce document, il y a aussi complexité Algorithmique section où vous peut voir que les deux classes ont la même complexité.

Je choisirait QMultiMap juste pour mieux documenter le fait que je vais contenir plusieurs valeurs avec la même clé.

Autres conseils

Les deux peuvent servir à cette fin. QMultiMap est en fait une sous-classe de QMap.

Si vous êtes prêt à avoir plusieurs valeurs pour seule touche, vous pouvez utiliser: QMap: pour insérer une utilisation insertMulti QMultiMap: pour l'insertion d'utiliser insertion

Si vous êtes prêt à avoir une valeur unique pour seule touche, vous pouvez utiliser: QMap: pour l'insertion d'utiliser insertion QMultiMap: pour une utilisation insertion remplacer

Vous pouvez voir à la fois afin que les deux serveur peut. Mais, ont chacun un comportement par défaut unique qui correspond à son nom. , Ont chacun aussi des méthodes ou des opérateurs qui est pratique pour unique / multiple.

Il est préférable de choisir le type en fonction de vos besoins. Il est une bonne pratique. Par exemple, si vous utilisez QMap pour stocker plusieurs valeurs clés simples, une autre personne qui passe par les membres de votre classe pourrait avoir l'impression que vous êtes prêt à sauver les paires de valeurs clés simples (du type de données) De même, si vous utilisez QMultiMap, toute personne lisant la définition peut avoir l'idée que les données ont une valeur multiple pour même clé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top