Другие языки программирования и технологии

Хеш-таблица и объект одно и то же?

Не могу понять хеш-таблица позволяет хранить в себе пары ключ - значение, объекты то же позволяют так делать, так в чем разница?
Хэш-таблица - это https://ru.wikipedia.org/wiki/Ассоциативный_массив: массив, в котором ключом может быть строка (а в развитых языках - любой тип, имеющий операцию "равно").

В ассоциативный массив ты в любой момент можешь добавить любою пару ключ/значение или удалить любую существующую пару.
***azamat*** ******
***azamat*** ******
56 880
Лучший ответ
объект ещё и процедуры хеширования должен содержать, например
В хеш-таблице значения разбросаны в случайном порядке, для доступа к ним, над ключом нужно проработать алгоритм...
Объект же - это просто кусок выделенной памяти с оффсетом для каждой переменной.
Вот объект:
struct {
int x;
bool y;
} object;

Чтобы получить доступ к "х", нужно к указателю на object прибавить sizeof(int), сиречь 4 (для 64 битных машин)
(object + 4) = x;
y - это булевая переменная, стоит после "y" и весит один байт, соответственно отступаем 1 байт от "x", получаем 5.
(object + 5) = y;
Это быстро и просто. Имена преобразуются в оффсеты в процессе компиляции.

При использовании хеш-таблиц получится вот такая медленная и увесистая жесть:
https://ru.wikipedia.org/wiki/Хеш-таблица
Иван Князев
Иван Князев
23 106
хоспади. массив знаешь что такое? ну вот хэш таблица это массив, у которого индексы это не числа а что угодно, слова например
НК
Ник Кондаков
13 437
Александр Ромасев так просто)
спасибо
У хеш-карты не может быть методов (которые смогут обращаться к this), у методов и свойств не может быть модификаторов доступа. Хеш-карту, в отличии от объекта, нельзя расширить и нельзя сделать ей конструктор/деструктор.
И сама хеш-карта/-таблица является объектом.

Проще говоря:
Объект - единица языка, которая может выполнять различные функции в пределах самого себя.
Хэш-карта - объект, созданный для хранения данных без определённого порядка, но по ключу.