Основное отличие в том, как они сравнивают ключи.
equals() и хэш-код ключа для определения равенства, что соответствует стандартной семантике равенства объектов.==), игнорируя метод equals(). Это означает, что два различных объекта, даже если они "равны" согласно их методу equals(), будут считаться разными ключами в IdentityHashMap, если они имеют разные адреса в памяти.Пример:
java
Используется IdentityHashMap реже, например: