2009-06-29 7 views

Répondre

5

Oui, cela s'appelle un . La plupart des langues les implémentent sous une forme ou une autre.

+0

En effet. L'implémentation la plus typique est un "ensemble de hachage", qui vérifie l'unicité en calculant la valeur de hachage de chaque objet. – Noldorin

+0

pour répondre à la 2ème partie de votre question, "hash set" indexe également les éléments sur la valeur de hachage des objets. –

+0

Non seulement le hachage parce que c'est juste une condition nécessaire, pas suffisante. Vous devez toujours vérifier l'égalité lorsque le hachage est le même. – Joey

0

Le problème avec cela est que la valeur peut être TOUT ce qui est très ouvert et pas toujours pratique.

0

SQL avec un champ UNIQUE. définit en Python. Noms de fichiers sur les systèmes de fichiers. Cela dépend de la façon dont vous définissez le "contenu".

2

Bien sûr, celui qui me vient à l'esprit est la classe NSSet de Cocoa. Le C++ STL a également une classe set.

Bien sûr, vous avez besoin d'un moyen de définir un objet unique au-delà de la simple comparaison de pointeur ou de référence. Par exemple, dans Cocoa, deux objets sont considérés comme identiques dans le but de NSSet s'ils répondent à isEqual: avec YES et ont le même code de hachage.

Questions connexes