Разница между хэш-картой и словарем ADT



в чем разница между хэш-картой и словарем ADT. И когда предпочесть одно другому. Для моего задания по программированию мой инструктор попросил использовать один из них, но я не вижу никакой разницы между ними. Программа должна работать с огромным нет. из ниток. Есть предложения?

740   4  

4 ответов:

С точки зрения Java, как класс HashMap и класс Dictionary are реализации абстрактного типа данных "карта". Абстрактные типы данных не являются специфичными для какого-либо одного языка программирования, и карта ADT также может быть известна как хэш, или словарь, или ассоциативный массив (другие в http://en.wikipedia.org/wiki/Associative_array). (обратите внимание, что мы делаем различие между Dictionary класс и словарь ADT.)

The Dictionary класс был отмечен как устаревший, поэтому лучше не использовать его.

этот столб переполнения стека делает хорошую работу объясняя ключевые разницы:

Java hashmap vs hashtable

обратите внимание, что Hashtable-это просто реализация словаря ADT. Также обратите внимание, что Java рассматривает словарь "устаревшие".

тот факт, что Hashtable синхронизируется, не покупает вас много для большинства применений. Использовать HashMap.

в Java HashMap реализует интерфейс карты, а словарь - нет. Это делает словарь устаревшим (согласно документам API). То есть, они оба выполняют аналогичную функцию, поэтому вы правы, что они кажутся очень похожими...HashMap - это тип словаря.

вам рекомендуется использовать HashMap, хотя.

Map-это интерфейс для ADT в Java,та же самая общая независимая от языка структура данных для поддержания пар , и вводится в Java 1.2.

словарь (не реализация Map) является абстрактным классом для той же цели, введенной ранее в JDK 1.0. Единственный подкласс это хеш-таблица, которая сама по себе является реализация карте. Тем не менее, словарь класс устарел сейчас, и вы можете забыть об этом.

есть различия между функциональными элементами Map и Dictionary, однако вы можете найти разницу между HashMap и Hashtable более полезной. здесь вы можете найти различия.

Comments

    Ничего не найдено.