Quelle est la différence entre une valeur de Hachage de la Carte et le dictionnaire de l'ADT. Et quand à préférer l'une sur l'autre. Pour ma programmation de l'affectation mon instructeur a demandé d'utiliser l'un d'eux, mais je ne vois pas la différence entre les deux. Le programme est censé fonctionner avec un énorme pas. de chaînes de caractères. Toutes les suggestions?
Réponses
Trop de publicités?En termes de Java, à la fois la classe HashMap
et la classe Dictionary
sont des implémentations de la "Carte" du type abstrait de données. Les types de données abstraites ne sont pas spécifiques à un langage de programmation, et la Carte ADT peut également être connu comme un dièse, ou un Dictionnaire, ou un Tableau Associatif (d'autres à http://en.wikipedia.org/wiki/Associative_array). (Notez que nous faisons une distinction entre l' Dictionary
de la classe et le Dictionnaire de l'ADT.)
L' Dictionary
classe a été marqué comme obsolète, il est donc préférable de ne pas l'utiliser.
Ce Débordement de Pile post fait un bon travail en expliquant les principales différences:
Notez que la table de hachage est simplement une mise en œuvre du Dictionnaire de l'ADT. Notez également que Java considère Dictionnaire "obsolète".
Le fait que la table de hachage est synchronisé n'achète pas beaucoup pour la plupart des utilisations. Utiliser La Table De Hachage.
En Java, la table de hachage implémente l'interface de la Carte tandis que le Dictionnaire ne fonctionne pas. Que fait le Dictionnaire obsolète (selon les docs de l'API). Qui est, ils font tous les deux une fonction similaire, donc vous avez raison, ils semblent très similaires...une table de hachage est un type de dictionnaire.
Il est conseillé d'utiliser la table de hachage bien.